算法

BF(Brute-Force)算法

一、问题引入 模式匹配算法是对两个字符串进行比较匹配的算法。 在两个串中字符逐个匹配,若完全匹配,则返回位置,否则返回-1。 二、解决过程 #include <stdio.h> int index_bf(char *S, char *T, int pos) { int S_len = strlen( ......
算法 Brute-Force Brute Force

算法

......
算法

【LeetCode排序专题01】由旋转数组的最小数字引出的关于排序算法的讨论(冒泡排序、二分查找+暴力法)

旋转数组的最小数字 剑指 Offer 11. 旋转数组的最小数字 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 给你一个可能存在 重复 元素值的数组 numbers ,它原来是一个升序排列的数组,并按上述情形进行了一次旋转。请返回旋转数组的最小元素。例如,数组 [3,4,5,1 ......
数组 算法 暴力 LeetCode 数字

KMP算法--模板

生成 Pattern 的字符串的 next 数组,长度为 m+1 点击查看代码 void getNext(vector<int>& next, string& pattern) { int n = pattern.size(); for (int j = 0, k = -1; j < n; ) { ......
算法 模板 KMP

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

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

链接:树状数组_哔哩哔哩 (只有五分钟,多看几遍,就会了) 模板题: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 > ......
进制 算法

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

常见排序算法以及Java实现

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

【LBLD】小而美的算法技巧:差分数组

【LBLD】差小而美的算法技巧:差分数组 差分数组 差分数组的第 i 个元素存储原数组第 i 个元素和第 i-1 个元素的差值,其中,差分数组的首元素的值 diff[0] 为原数组首元素的值 nums[0]。 1109.航班预订统计 class Solution { public: vector<i ......
数组 算法 技巧 LBLD

使用 MybatisPlusCore 自带的雪花算法生成不重复数字

这里不介绍雪花算法的实现原理,可以自行搜索查阅网上的资料。这里主要介绍雪花算法的使用场景,如何调用第三方类库 Mybatis Plus Core 自带的方法来使用雪花算法。 雪花算法的主要使用场景,就是生成不重复的数字,作为数据库表的主键使用。你可能会使用 uuid 作为主键,但是其占用 16 个字 ......
MybatisPlusCore 算法 雪花 数字