随笔分类 - BinaryTree
摘要:转自:AVL树、红黑树、B/B+树和Trie树的比较 AVL树 最早的平衡二叉树之一。AVL是一种高度平衡的二叉树,所以通常的结果是,维护这种高度平衡所付出的代价比从中获得的效率收益还大,故而实际的应用不多,更多的地方是用追求局部而不是非常严格整体平衡的红黑树。当然,如果场景中对插入删除不频繁,只是
阅读全文
摘要:1.二叉树第i层至多有2^(i-1)个结点(i>=1)。 2.深度为k的二叉树上,至多含2^k-1个结点(k>=1) 3.n0 = n2 + 1(度) 4.满二叉树:深度为k且含有2^k-1个结点的树。 5.完全二叉树:除最后一层外,每一层上的节点数均达到最大值;在最后一层上只缺少右边的若干结点。
阅读全文
摘要:堆的定义: 最大树(最小树):每个结点的值都大于(小于)或等于其子结点(如果有的话)值的树。最大堆(最小堆):最大(最小)的完全二叉树。 最大堆的抽象数据结构: 下面是一些简单函数的实现: 下面来看几个重要的操作的实现: ·堆的插入操作 (1)新元素添加到末尾(保持完全二叉树的性质);(2)为了保持
阅读全文
摘要:二叉查找树(BinarySearch Tree,也叫二叉搜索树,或称二叉排序树BinarySort Tree)或者是一棵空树,或者是具有下列性质的二叉树: (1)若它的左子树不为空,则左子树上所有结点的值均小于它的根结点的值; (2)若它的右子树不为空,则右子树上所有结点的值均大于它的根结点的值;
阅读全文
摘要:二叉树结点的抽象数据类型: 二叉树结点函数功能实现: 二叉树的抽象数据类型: 广度优先遍历(队列): 【思路】根结点入队,队列不空循环,访问队头并出队,左子树不空则入队,右子树不空则入队。 先序遍历: 【思路】 1.访问当前结点 2.当前结点的右儿子结点非空,则入栈 3.左儿子结点非空,使之作为当前
阅读全文

浙公网安备 33010602011771号