考研数据结构
Bklls
上岸咯 cqu继续努力吧
展开
-
力扣28.实现strStr()的KMP实现
class Solution {public: void getNext(string ch,int length,vector<int> &next) { next[0] = -1; int i=0,j=-1;//i是主串正在匹配的字符位置,j代表的是前面已经匹配成功的后一个。 while(i<length-1) { if(j==-1||ch[i]==ch[j]){ .原创 2022-04-04 17:43:31 · 525 阅读 · 0 评论 -
中序线索二叉树
即增加Ltag和Rtag的方式来有效利用结点所占的空间,利用为NULL的指针域,能够存储其前驱结点和后继节点。相比于对每个节点新增两个指针域,该方法更节约空间,因为int 占4字节,而一个指针占8字节,C99 还有_bool 一位即可存储,效果显著。作用:寻找特定遍历序列二叉树的前驱和后驱,所以换前序和后序就不一样了,方法大同小异。像这样的中序,基本都是有框架了,看1.2.3部,中序都是在左与根中加操作。这里看起来2的结束在3后面(代码行),其实是2先结束。注:供个人考研复习,写的不是很详细。原创 2022-03-10 11:04:48 · 425 阅读 · 1 评论