算法 理论raft cap

使用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

git 、 github 相关理论知识

什么是git:是一个免费、开源的版本控制软件 问:什么是版本控制软件 答:是一种记录一个或者若干个文件内容变化,以便将来查阅特定版本修订情况的系统 什么是github:是一个网站,该网站可以创建仓库,存放项目代码 全球最大 社交编程 以及 代码托管 的网站 设置用户名 git config --gl ......
理论 知识 github git

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

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

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

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

算法笔记

笔记仅为个人总结模板和理解。。。 快速幂: 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 ......
算法 笔记

二分查找(算法笔记)

核心代码(循环):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年提 ......
步态 神经网络 算法 能量 神经

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

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

MongoDB中的Capped Collection

capped collection是固定大小的结合,支持基于插入顺序的插入和检索文档的高吞吐量操作。Capped collections的工作方式类似循环buffer:一旦一个集合填满了它分配的空间,它就会通过覆盖集合中最老的文档来为新文档腾出空间。 作为capped collection的替代方案 ......
Collection MongoDB Capped

开源不到 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

【测试理论-9 】软件测试 -不同端的软件测试场景区别?

一、 B/S结构的网页测试场景? B/S结构的网页测试是指测试基于浏览器和服务器的Web应用程序,包括前端和后端的测试。以下是B/S结构的网页测试常见的场景: 页面布局和样式测试:测试页面的布局和样式是否符合设计要求,包括页面元素的位置、大小、颜色、字体等。 功能测试:测试网页的各项功能是否正常,包 ......
软件测试 软件 场景 端的 理论

【测试理论-08】软件测试 -敏捷测试实际应用场景?

一、敏捷测试是一种基于敏捷开发方法的测试方法,它强调测试人员和开发人员之间的紧密合作和快速反馈,以确保软件的质量和可靠性。以下是敏捷测试的实际应用场景: 迭代开发:敏捷测试适用于迭代开发模式,测试人员和开发人员需要在每个迭代中紧密合作,共同推进软件的开发和测试。 快速反馈:敏捷测试强调快速反馈和持续 ......
软件测试 场景 实际 理论 软件

【测试理论-07】软件测试 -软件开发模式包含那些?

一、常见的软件开发模式包括: 瀑布模型:瀑布模型是一种线性的软件开发模式,从需求分析、设计、编码、测试到维护等各个阶段依次进行,每个阶段的输出作为下一个阶段的输入。 增量模型:增量模型是一种渐进式的软件开发模式,将软件开发分为多个阶段,每个阶段都会增加新的功能或特性,直到完成整个软件系统。 原型模型 ......

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

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

【测试理论-06】软件测试 -探索性测试怎么做?

一、探索性测试定义: 探索性测试是一种基于测试人员的经验和直觉进行测试的方法,它不依赖于预先定义的测试用例或脚本,而是根据测试人员的思考和探索来进行测试。探索性测试通常用于发现软件中未知的问题和缺陷,以及验证软件的可用性、易用性和性能等方面。在探索性测试中,测试人员需要灵活应对不同的测试场景和情况, ......
探索性 软件测试 理论 软件 06

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

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

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

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

明解STM32—GPIO理论基础知识篇之寄存器原理

​ 一、前言 在之前的STM32的GPIO理论基础知识中,分别对基本结构和工作模式进行了详细的介绍。GPIO基本结构中主要对GPIO内部的各个功能电路逐一的进行的分析;GPIO工作模式中主要介绍GPIO应用在不同的使用场景下,GPIO端口的静态特征配置和动态的工作模式,同时对信号的工作流进行了分析。 ......
寄存器 基础知识 原理 理论 基础

算法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, ......
中点 基础课 算法 数量 基础