- 博客(4)
- 收藏
- 关注
原创 KMP算法
KMP算法前缀:只包含首字母,不包含尾字母的所有子串后缀:只包含尾字母,不包含首字母的所有子串例: 文本串:aabaabaaf 模式串:aabaaf 模式串的所有前缀:a,aa,aab,aaba,aabaa 模式串的所有后缀:f,af,aaf,baaf,abaaf求最长相等前后缀a 0aa 1aab 0aaba 1aabaa 2aabaaf 0当后缀的后面与文本串不匹配时,就从前缀的后面开始匹配最长相等前后缀的大小正好等于前缀后面的下标
2021-03-17 23:54:05
205
1
原创 栈
栈栈是限定仅在表尾进行插入和删除操作的线性表。栈相当于一个箱子,满足先进后出的原则。c语言定义栈typedef struct node{ int data; struct node *next;}node,*pNode;struct stack{ pNode pTop;//指向栈顶 pNode pBottom;//指向栈底}stack,*pStack;栈的基本操作(1)初始化,建立一个空栈void init(stack *ps){ ps->pTop = (pN
2021-03-14 12:45:08
75
原创 单链表
单链表 单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素。链表中的数据是以结点来表示的,每个结点的构成:元素(数据元素的映象) + 指针(指示后继元素存储位置),元素就是存储数据的存储单元,指针就是连接每个结点的地址数据。链表的分类c语言定义单链表typedef struct node{ int data;//数据域 struct node *next;//指针域}node,*pNode;非循环单链表的基本操作主函数部分int main(){
2021-03-14 12:42:38
70
原创 顺序表
顺序表顺序表的顺序存储结构,指的是用一段连续的存储单元 依次存储线性表的数据元素线性表的顺序存储示意图:c语言定义顺序表的顺序存储结构struct array{ int *pBase;//存储的是数组第一个元素的地址 int len;//数组所能容纳的最大元素的个数 int cnt;//当前数组有效元素个数};描述顺序存储结构需要三个元素: 存储空间的起始位置(即pBase) 线性表的最大存储容量(即len) 线性表的当前长度(即cnt)顺序表的基本操作(1)初
2021-03-14 12:37:03
82
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人