算法 分布式paxos

分布式系统——基于Redis的分布式锁的实现

分布式锁的介绍 分布式锁是分布式系统中用于协调多个进程或线程之间并发访问共享资源的一种机制。在分布式系统中,由于各个节点之间的通信存在延迟、故障等问题,可能会导致数据的不一致性。为了保证数据的一致性,需要使用分布式锁来协调各个节点的并发访问。 在分布式系统中,多个节点同时访问共享资源可能会导致以下问 ......
分布式 系统 Redis

使用JAVA实现冒泡排序算法

冒泡排序是最简单的排序算法之一,它的基本思路是将待排序的数组中相邻的元素进行比较和交换,这样一趟下来,最大(或最小)的元素就被交换到了最后的位置,然后再对剩下的元素进行同样的操作。下面是实现冒泡排序的Java代码: public class BubbleSort { public static vo ......
算法 JAVA

C++实现Mark & Copy 算法

Mark & Copy 算法 1、引言 Garbage Collector(GC)广泛存在于现代流行的编程语言之中,比如Java,C#,Python等。笔者认为结合源代码学习可以更加有效地了解一个算法,但是在网上找到更多的是Mark&Sweep算法,如http://journal.stuffwith ......
算法 Mark Copy amp

大数据经典论文解读 - 分布式锁 Chubby

Chubby 在谷歌“三驾马车”中3个系统都是单Master系统,这个Master是系统的单点,一旦Master故障集群就无法提供服务。使用Backup Master,通过监控机制进行切换。但是: 如何实现Backup Master和Master完全同步? 监控程序也是单点,如何确定是Master宕 ......
分布式 经典 数据 Chubby 论文

[数据结构与算法] 树状数组

链接:树状数组_哔哩哔哩 (只有五分钟,多看几遍,就会了) 模板题:P3374 【模板】树状数组 1 - 洛谷 14.1 作用 求前缀和、区间和(跟前缀和的作用一样); 元素修改之后能高效更新:(时间复杂度) 前缀和:$O(log \space n)$; 区间和:$O(log \space n)$; ......
数据结构 数组 算法 结构 数据

冒泡排序算法(超级详细)

泡排序是一种简单的排序算法,它也是一种稳定排序算法。其实现原理是重复扫描待排序序列,并比较每一对相邻的元素,当该对元素顺序不正确时进行交换。一直重复这个过程,直到没有任何两个相邻元素可以交换,就表明完成了排序。 一般情况下,称某个排序算法稳定,指的是当待排序序列中有相同的元素时,它们的相对位置在排序 ......
算法

Redis添加分布式锁

1.不是高并发的场景 stringRedisTemplate.opsForValue.setIfAbsent("zql","人在代码在",10,TimeUnit.SECONDS);//只加过期限制 2.高并发的场景 如果加锁的过期时间小于业务执行时间,那么需要给每个线程的锁加这个线程的唯一标识,让每 ......
分布式 Redis

算法笔记

笔记仅为个人总结模板和理解。。。 快速幂: while (n) //n为多少次方{ if (n & 1) k = k * x % mod; n >>= 1; x = x * x % mod; } return k ; } 差分: for(int i=1;i<=n;i++) { int t,c; ci ......
算法 笔记

ceph分布式存储搭建

CEPH分布式存储搭建 本文通过参考臧 雪 园 老师的文档根据实际操作做修改,详细视频链接参考: https://edu.51cto.com/course/15982.html 集群配置信息: 安装的ceph版本: 配置所需源的地址 wget -O /etc/yum.repos.d/CentOS-B ......
分布式 ceph

二分查找(算法笔记)

核心代码(循环):int f=-1;while(left<=right){ int mid=(left+right)/2; if(a[mid]==key){ f=mid; break;} if(key<a[mid]) right=mid-1; if(key>a[mid]) left=mid+1;}i ......
算法 笔记

AI算法测试之浅谈

人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。 人工智能可以对人的意识、思维的信息过程的模拟。人工智能不是人的智能,但能像人那样思考、也可能超过人的智能。 ......
算法

python算法24点

现在的小学生的课后作业是算24点,看了一下题目,发现都挺难的,只能用加减乘除,算出24点。 都开始使用分数(小数)来计算24点了,发现心算不容易,于是从网上找找,用Python写了一个程序来算。 把下面的代码保存到24.py文件 def solution(numbers): res = set() ......
算法 python

重要!每个开发者都应该掌握的9个核心算法

许多开发者似乎都有一个很大的误解,认为算法在编程工作中没什么用处,只是工作面试中的加分项。其实并不是这样的,成为一名有秀的开发者,极其重要的是具备算法思维能力。不仅能够复制和修改标准算法,还能够使用代码运用算法解决遇到的任何问题。 这里介绍9种核心算法,这是你成为高阶开发者必须要熟悉的算法思维。你也 ......
开发者 算法 核心

m基于AlexNet神经网络和GEI步态能量图的步态识别算法MATLAB仿真

1.算法描述 AlexNet是2012年ImageNet竞赛冠军获得者Hinton和他的学生Alex Krizhevsky设计的。也是在那年之后,更多的更深的神经网络被提出,比如优秀的vgg,GoogLeNet。 这对于传统的机器学习分类算法而言,已经相当的出色。Alexnet网络模型于2012年提 ......
步态 神经网络 算法 能量 神经

redis使用setnx+lua实现分布式锁

在Redis中,使用SETEX命令(对应RedisTemplate的setIfAbsent方法)可以实现一个最简易的分布锁。SETEX命令当key不存在的话,才会设置key的值,如果可以已经存在,就不做任何操作。 为了避免锁无法被释放,就给这个key(也就是锁)设置一个过期时间。 为了保证解锁操作的 ......
分布式 redis setnx lua

【进制】计算B进制(秦九韶算法)

计算B进制的值(秦九韶算法) 4945. 比大小 #include <iostream> #include <cstring> using namespace std; typedef long long LL; LL get() { LL res = 0; int n, b; cin >> n > ......
进制 算法

开源不到 48 小时获 35k star 的推荐算法「GitHub 热点速览」

本周的热点除了 GPT 各类衍生品之外,还多了一个被马斯克预告过、在愚人节开源出来的推特推荐算法,开源不到 2 天就有了 35k+ 的 star,有意思的是,除了推荐算法本身之外,阅读源码的工程师们甚至看到了员工对马斯克的特别关注(一段针对马斯克的代码),如果你对推荐有兴趣,不妨看看本周特推。 除了 ......
算法 小时 热点 GitHub star

算法杂记 2023/04/02

算法杂记 2023/04/02 网易笔试第二题 给定一棵中序遍历的二叉树,如果当前树为空则表示为X,如果不为空则表示为(left_tree)cur_value(right_tree),其中left_tree和right_tree分别表示按此规则序列化之后的左右子树字符串。找出重复子树的数量,相同子树 ......
杂记 算法 2023 04 02

分治(Divide and Conquer)算法之归并排序

顾名思义,分治问题由“分”(divide)和“治”(conquer)两部分组成,通过把原问题分为子问题,再将子问题进行处理合并,从而实现对原问题的求解。我们在排序章节展示的归并排序就是典型的分治问题,其中“分”即为把大数组平均分成两个小数组,通过递归实现,最终我们会得到多个长度为1 的子数组;“治” ......
算法 Conquer Divide and

基于matlab的GPS信号相关检测算法仿真

1.算法描述 全球定位系统(Global Positioning System,GPS),是一种以人造地球卫星为基础的高精度无线电导航的定位系统,它在全球任何地方以及近地空间都能够提供准确的地理位置、车行速度及精确的时间信息。GPS自问世以来,就以其高精度、全天候、全球覆盖、方便灵活吸引了众多用户。 ......
算法 信号 matlab GPS

m基于最小生成树算法的无线传感器网络MCDS生成matlab仿真

1.算法描述 一个有 n 个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有 n 个结点,并且有保持图连通的最少的边。 最小生成树可以用kruskal(克鲁斯卡尔)算法或prim(普里姆)算法求出。图的所有生成树中具有边上的权值之和最小的树称为图的最小生成树 (Minimum Spann ......
传感器 算法 无线 matlab 网络

m基于WOA优化的SVM乳腺癌细胞和正常细胞分类识别算法matlab仿真,对比BP网络,SVM,PSO+SVM

1.算法描述 SVM 是有监督的学习模型,我们需要事先对数据打上分类标签,通过求解最大分类间隔来求解二分类问题。如果要求解多分类问题,可以将多个二分类器组合起来形成一个多分类器。 WOA算法设计的既精妙又富有特色,它源于对自然界中座头鲸群体狩猎行为的模拟, 通过鲸鱼群体搜索、包围、追捕和攻击猎物等过 ......
细胞 SVM 乳腺癌 乳腺 算法

算法3

9.一维数组前缀和s[0]=0;s[i]=s[i-1]+a[i];//i>=1 初始化//l-k区间范围的和s[k]-s[l-1];10.二维数组前缀和s[x][y]=s[x-1]s[y]+s[x][y-1]-s[x-1][y-1]+a[x][y];//初始化//(x1,y1)到(x2,y2)矩阵和 ......
算法

内存淘汰算法

内存有限,内存不够时选择一些移除内存空间。 1、先进先出FIFO ->适合缓存数据 2、最近最少使用LRU ->适合需要快速访问数据,如web服务器缓存 根据使用时间进行淘汰 3、最少使用LFU ->大规模数据存储 根据使用次数进行淘汰 4、随机Random ......
算法 内存

算法

1.快排排序void quick_sort(int q[],int l,int r){if(l>=r)return ;int i=l-1,j=r+1;int x=q[l+r>>1];while(i<j){do i++;while(q[i]<x);do j--;while(q[j]>x);if(i<j ......
算法

算法2

4.二分算法(浮点数)bool check(double x).....//x满足某种性质void bsearch_3(double l,double r){const eps=1e-6;//控制精度while(i-j<eps){int mid=(l+r)/2;if(check(mid))l=mid ......
算法

算法基础课——合并集合(并查集)

合并集合 问题描述 一共有 n 个数,编号是 1∼n,最开始每个数各自在一个集合中。 现在要进行 m 个操作,操作共有两种: M a b,将编号为 a 和 b 的两个数所在的集合合并,如果两个数已经在同一个集合中,则忽略这个操作; Q a b,询问编号为 a 和 b 的两个数是否在同一个集合中; 输 ......
基础课 算法 基础

算法基础课——连通块中点的数量

连通块中点的数量 问题描述 给定一个包含 n 个点(编号为 1∼n)的无向图,初始时图中没有边。 现在要进行 m 个操作,操作共有三种: C a b,在点 a 和点 b 之间连一条边,a 和 b 可能相等; Q1 a b,询问点 a 和点 b 是否在同一个连通块中,a 和 b 可能相等; Q2 a, ......
中点 基础课 算法 数量 基础

windows下使用pytorch进行单机多卡分布式训练

现在有四张卡,但是部署在windows10系统上,想尝试下在windows上使用单机多卡进行分布式训练,网上找了一圈硬是没找到相关的文章。以下是踩坑过程。 首先,pytorch的版本必须是大于1.7,这里使用的环境是: pytorch==1.12+cu11.6 四张4090显卡 python==3. ......
分布式 单机 windows pytorch

常见排序算法以及Java实现

快速排序 class Solution { //创建随机对象,便于后于选基准值 static Random random = new Random(); public int[] sortArray(int[] nums) { int n = nums.length; int left = 0; i ......
算法 常见 Java