![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
weixin_43288822
这个作者很懒,什么都没留下…
展开
-
学习学习kmp算法
我们看,在查找最大匹配的过程中,将上面选择的待比较的子串分成两部分:最后一个端点为一部分,前面的一段为一部分;比如上面的第一个选取的最大比较子串的例子:前缀的p[0~k-1]分成两段为p[0~k-2]和p[k-1],和后缀的p[j-k+1~j-1]和p[j]分别比较,即p[0~k-2]和p[j-k+1~j-1]比较,p[k-1]和p[j]比较,见图中的红色线段和绿色圆点;通过这个例子我们知道,只要前面一段能重复且尽可能的长,那么加上最后一个端点这个重复子串也必将是最长的。我们继续分析,因为next[j]..原创 2022-03-23 16:35:28 · 244 阅读 · 0 评论 -
数据结构 实现栈和队列
1.顺序存储结构 #include<iostream> #include<string> #define MAX 1024 using namespace std; typedef int DataType; class Stack { public: Stack(); DataType data[MAX]; int top; void show(); int push(DataType elem); int pop(DataType& elem); };原创 2022-03-22 11:07:43 · 1135 阅读 · 0 评论 -
数据结构 单链表
跟着《大话数据结构》实现单链表。创建链表的时候借鉴了大佬的代码,可以说是直接复制粘贴, #include<iostream> #include<string> using namespace std; typedef int DataType; class Node { public: DataType data; Node* next; }; class List { public: Node* head; int lenth = 0; List(); void s原创 2022-03-21 10:58:53 · 748 阅读 · 0 评论