随笔分类 - Algorithms
Algorithms
摘要:1、平衡二叉树定义:平衡二叉树(Balanced Binary Tree或Height-Balanced Tree)又称AVL树。它或者是一颗空树,或者是具有下列性质的二叉树:它的左子树和右子树都是平衡二叉树,且左子树和右子树的深度之差的绝对值不超过1。若将二叉树上结点的平衡因子bf(balance factor)定义为该结点的左子树的深度减去右子树的深度,则平衡二叉树上所有结点的平衡因子只可能为-1、0和1这三个值。2、失去平衡情况分析:假设结点A是一颗子平衡二叉树,当在以A为根结点的AVL树上插入一个新结点时,会出现以下三种情况:1)如果插入前A—>bf=1(A的左子树深度比右子树深
阅读全文
摘要:这篇文章主要是解释KMP算法的原理,KMP算法是BF(Brute Force)算法的一种改进算法,什么是BF算法这里不多做解释。1.KMP算法实现思路: 每当一趟匹配过程中出现字符比较不等时,不需要回溯主串上面的指针i,而是利用已经计算出的模式串P在j位置前面的子串P0...Pj-1的部分匹配值k...
阅读全文