11 2020 档案

摘要:KMP算法是现阶段我接触到最难理解的算法,作为暴力匹配算法的改进版,特别是其中涉及到的回溯,很难懂,本篇博客以我的理解记录KMP算法 一、KMP算法是BF算法的改进,其改进思路为:当模式串与目标串失配时,不回溯到目标串的+1位置,具体怎么做下面说 举个实例:有目标串“ABCDABCDABDE”和模式 阅读全文
posted @ 2020-11-09 10:07 这总没有了吧 阅读(67) 评论(0) 推荐(0)
摘要:二叉排序树可能出现的问题:左子树过高或右子树过高,为了解决这种情况采用二叉平衡树树 二叉平衡树:可以看成将二叉排序树高的一边子树“往上提了一下”,即将该边子树的第一个从上至下的第一个结点作为新的根节点 原来的根节点放到另一边补充矮的子树的高度了。 当然还有特殊情况: 如果当前结点的右子树的左子树的高 阅读全文
posted @ 2020-11-06 21:48 这总没有了吧 阅读(195) 评论(0) 推荐(0)
摘要:二叉排序树定义: 1. 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 2. 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 3. 它的左、右子树也分别为二叉排序树。 二叉排序树的常用方法: 添加结点:类似二叉树 遍历:所有遍历和普通二叉树一样 删除结点:重点!!!! 阅读全文
posted @ 2020-11-06 21:36 这总没有了吧 阅读(60) 评论(0) 推荐(0)
摘要:大顶堆的定义:每一个父节点都大于其子结点,根结点是最大的结点 数组转换为堆:层次遍历,第n层填满2^(n-1)次个,最后一层可以填满也可以不填满 第i个结点的左子结点为2*i+1 右子结点为2*i+2 堆结点的基本思想:将数组构造为大顶堆,把根结点放到无序数组的最后 剩余的元素无序,继续构造大顶堆, 阅读全文
posted @ 2020-11-02 11:05 这总没有了吧 阅读(62) 评论(0) 推荐(0)
摘要:二叉树的线索化是指给二叉树加左右两个指针域(称为线索),可以提高空间利用率。 一般先规定好遍历顺序,确定每个结点的前驱和后继 即遍历得到的顺序中前后结点,下面都以中序遍历为例。 规定:左指针域指向该结点的左子结点(或前驱),右指针指向该结点的右子结点 中序遍历得到的第一个结点为首结点,前驱为NULL 阅读全文
posted @ 2020-11-01 10:47 这总没有了吧 阅读(93) 评论(0) 推荐(0)