![](https://img-blog.csdnimg.cn/20190927151026427.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
算法
某些简单的数据结构和算法。
Chamico
伟大的背后,皆是苦难。
展开
-
KMP算法的分析及实现(C语言)
一、KMP简介 KMP算法是由D.E.Knuth、J.HMorris和V.R.Pratt(其中Knuth和Pratt共同研究,Morris独立研究)发表的一个模式匹配算法,可以避免重复遍历的情况,称为克努特——莫里斯——普拉特算法,简称KMP算法。...原创 2020-06-05 18:13:46 · 705 阅读 · 0 评论 -
KMP模式匹配算法改进
一、简介 上一篇介绍了标准的 KMP 模式匹配算法,但是这种算法在某种情况下存在一定的缺陷,会产生不必要的比较。 改进后的 KMP 模式匹配算法进行匹配时,和标准 KMP 算法的流程一样。仅仅在求取 next 数组的值时,如果子串该位置的字符与 next 数组指向的内容相等,则该位置的 next 数组值修改为所指向位置的 next 数组值。二、案例分析 假设主串为 “aaaaadef”,子串为 “aaaaaf”,规定子串和主串的起始位置下标均为 1,主串的位置下标用 i 表示,子串的位置下标用原创 2020-06-06 14:42:18 · 654 阅读 · 0 评论 -
顺序查找算法
简介 顺序查找算法比较简单,在一个线性表中,按照从前往后或者从后往前的顺序依次查找,如果查找到关键字和给定值相等,则返回给定值的位置,查找成功;如果查找值最后一个元素仍未找到,则查找失败。 有一种改进的算法,引入了哨兵的思想,所谓哨兵就是将关键字用一个数组位置去存储,保证在循环的过程中不必判断数组是否越界,因为执行到最后一个元素时,一定会跳出循环。在一定程度上优化了普通查找算法。// 顺序查找#include <stdio.h>int SequentialSearch(int原创 2020-06-13 18:41:34 · 4306 阅读 · 0 评论