![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法与数据结构
基础学习算法和数据结构
武松111
这个作者很懒,什么都没留下…
展开
-
暴力匹配算法的定长顺序存储实现
#define MAXSTRLEN 255//宏定义串的最大长度MAXSTRLEN为255 typedef unsigned char SString[MAXSTRLEN + 1];//定义SString为无符号字符数组类型,数组长度为256 1.本实验研究串的模式匹配,不用考虑符号,所以将数组元素定义为unsigned char类型 2.数组中0号单元用于存放字符串长度,这样使得字符串中元...原创 2019-07-25 16:24:10 · 192 阅读 · 0 评论 -
KMP算法解析以及手工计算next函数方法
KMP算法的原则:每当匹配不相等时,主串中i指针不变,模式串中j指针移动到恰当的位置。 本博客仍旧采用如下定长顺序存储,数组的0号单元用于存放字符串长度。 #define MAXSTRLEN 255//宏定义串的最大长度MAXSTRLEN为255 typedef unsigned char SString[MAXSTRLEN + 1];//定义SString为无符号字符数组类型,数组长度为2...原创 2019-08-08 18:19:49 · 2121 阅读 · 0 评论 -
从直接插入排序到希尔排序
#希尔排序是一种属插入排序类的方法。 它的基本思想是:先将整个待排记录序列分割成为若干子序列,分别对其进行直接插入排序,不断重复上述步骤,待整个序列中的记录“基本有序”时,再对全体记录进行一次直接插入排序。 #本博客采用顺序表结构体如下,0号单元留空 typedef struct { int *r; int length; int listsize; }SqList...原创 2019-08-16 11:20:06 · 93 阅读 · 0 评论 -
快速排序详解(C语言)
#快速排序是对起泡排序的一种改进。 快速排序的基本思想:通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小, 然后分别对这两部分进行上述排序,直到整个序列有序。 #本博客采用如下顺序存储,0号单元留空 typedef struct { int *r; int length; int listsize; }SqList;//定...原创 2019-08-19 10:45:25 · 593 阅读 · 0 评论