
算法相关
常用编程
lei7143
这个作者很懒,什么都没留下…
展开
-
KMP算法
直接src 字符串和 des 字符串,一个一个的比较,如果出现不一样,则src 开始位置前移一位,des 字符串从0 位置开始,再次比较,直到 src 字符串结束。f(n)= f(n-1)>0,则比较最后一个字符串和f(n-1)对于字符串的f(n-1)+1 位置是否相等。f(n-1)=0,则比较最后一个字符串跟首字符串是否相等。子串a同前缀后缀 ->0 f(0)=0。子串adcda同前缀后缀 -> a ->1。子串adcdad同前缀后缀->ad ->2。原创 2023-09-22 23:50:09 · 176 阅读 · 0 评论 -
无重复字符的最长子串 - 力扣(LeetCode)
这里的原因在于,假设我们选择字符串中的第 kkk 个字符作为起始位置,并且得到了不包含重复字符的最长子串的结束位置为 rkr_kr。以 abcabc(b)b\texttt{abcabc(b)b}abcabc(b)b 开始的最长字符串为 abcabc(b)b\texttt{abcabc(b)b}abcabc(b)b;以 abcabcb(b)\texttt{abcabcb(b)}abcabcb(b) 开始的最长字符串为 abcabcb(b)\texttt{abcabcb(b)}abcabcb(b)。原创 2023-09-22 22:10:04 · 575 阅读 · 0 评论 -
归并排序~
相邻排序合并 0 4 5 8,2 3 9 67,23。相邻排序合并 0 5,4 8,3 9,2 67,23。将一个无序系列,分成小系列,相邻两个小系列进行排序合并,再将两个相邻小系列排序合并,。第一次每个元素一组 0,5,4,8,9,3,2,67,23。原创 2023-09-19 11:03:55 · 101 阅读 · 0 评论 -
希尔排序~
【代码】希尔排序~原创 2023-09-16 18:04:54 · 120 阅读 · 0 评论 -
简单选择排序
开始有序集合为NULL ,无序集合为整个数组,找到无序集合最小元素,进入到有序集合。每次从无序集合中选择最小元素,加入到有序集合中,直到全部有序。原创 2023-09-16 16:37:12 · 58 阅读 · 0 评论 -
直接插入排序~
往有序的系列中插入一个元素,对于长度为len 数组,开始的 0 号元素是有些的,从第1 号元素开始,进行插入到前面有序的系列中。找到插入索引i+1 ,再一次性移动元素。跟前面有序元素对比无序则立即插入排序。原创 2023-09-16 16:07:56 · 100 阅读 · 0 评论 -
快速排序~
练练手按照思路能写出来就可以了!原创 2023-09-16 12:24:59 · 103 阅读 · 0 评论 -
冒泡排序~
1、对应长度len 数组,需要进行 len -1 趟冒泡,每趟冒泡,将最大(小)元素排列到最后无序位置。每一趟冒泡,都进行元素交换,这里可以识别当没有发生元素交换,说明已经有序,直接结束。每一趟冒泡,标记最大元素小标,结束再跟最后一个无序元素交换。2、每趟冒泡从第一个元素开始,邻近两两比较,找出最大元素。原创 2023-09-16 10:52:38 · 98 阅读 · 0 评论