
数据结构与算法
文章平均质量分 70
数据结构Java
sunbofiy23
这个作者很懒,什么都没留下…
展开
-
字符串匹配-KMP算法
主串的i位置的值和子串的j位置的值不同时,主串S,i前面的字符串与字串T,j前面的字符串已经匹配相等,因为两者相等,所以只需要拿出子串T前面的字符串,根据T前面的字符串来计算一个next[j]数组,将j回溯即可。求次数的问题,将原生KMP算法,变化为,当j==t.length()的时候,匹配有效,计数器count++,j回溯到next数组的j-1位置上,再对其+1。在学KMP算法之前,对于两个字符串,主串S,和字串T,我们根据暴力匹配,定义两个指针,i指向主串S的起始,j指向字串T的起始,依次比较,如果。原创 2023-08-02 22:17:42 · 427 阅读 · 0 评论 -
排序算法总结
时间复杂度T(n)=nlogn,因为涉及递归,栈存储,因此, 空间复杂度为O(n)=nlogn,是不稳定排序。每一趟结束后,前序列有序,后序列无序,当总序列有序后,停止比较。对于一个包含n个元素的数列,取其一作为哨兵,哨兵前的数列保持有序,哨兵后的序列依次后移,当哨兵后序列无移动时,结束比较。也是一种插入排序算法,思想为,将一个包含n个数的数列,按步频,划分为多个数列,比如直接插入和折半插入的步频都为1,而希尔排序的核心在于扩大步频,从而减少移动的次数,但如何找到最合适的步频,尚未解决。原创 2023-04-22 17:03:22 · 273 阅读 · 0 评论 -
数据结构基础(严蔚敏)
数组的操作原创 2022-11-24 13:51:16 · 216 阅读 · 0 评论