线段树 一.概述: 线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。 对于线段树中的每一个非叶子节点[a,b],它的左儿子表示的区间为[a,(a+b)/2],右儿子表示的区间为[(a+b)/2+1,b]。因此线段树是平衡二叉树,最后的子节点 ...
分类:
其他好文 时间:
2016-08-28 20:53:34
阅读次数:
183
//递归: 判断该树是否为平衡二叉树 方法一:调用上述函数求每个节点的左右孩子深度 [cpp] view plain copy print? bool IsBalanced(BinaryTreeNode* pRoot) { if(pRoot== NULL) return true; int nLef ...
分类:
其他好文 时间:
2016-08-17 12:04:54
阅读次数:
159
110.BalancedBinaryTreeGivenabinarytree,determineifitisheight-balanced.Forthisproblem,aheight-balancedbinarytreeisdefinedasabinarytreeinwhichthedepthofthetwosubtreesofeverynodeneverdifferbymorethan1.题目大意:判断一颗二叉树是否为平衡二叉树。思路:做一个辅助..
分类:
其他好文 时间:
2016-08-08 07:41:39
阅读次数:
119
ACM算法列表 ACM所有算法 栈,队列,链表 哈希表,哈希数组 堆,优先队列双端队列可并堆左偏堆 二叉查找树Treap伸展树 并查集集合计数问题二分图的识别 平衡二叉树 二叉排序树 线段树一维线段树二维线段树 树状数组一维树状数组N维树状数组 字典树 后缀数组,后缀树 块状链表 哈夫曼树 桶,跳跃 ...
分类:
其他好文 时间:
2016-08-07 19:53:01
阅读次数:
282
华山大师兄 排序:拓扑排序算法 字典序算法 编程珠玑:位图法排序 树:红黑树总结 B+树与B*树小结 B-树小结汇总 平衡二叉树(AVL树)小结 Trie--字典树 图的遍历:深度优先遍历与广度优先遍历 最小生成树:最小生成树-Prim算法和Kruskal算法 最短路径:最短路径—Dijkstra算 ...
分类:
编程语言 时间:
2016-08-07 17:00:19
阅读次数:
264
介绍:红黑树(Red Black Tree) 是一种自平衡二叉查找树,是在计算机科学中用到的一种数据结构,典型的用途是实现关联数组。它是在1972年由Rudolf Bayer发明的,当时被称为平衡二叉B树(symmetric binary B-trees)。后来,在1978年被 Leo J. Guibas 和 Robert Sedgewick 修改为如今的“红黑树”。红黑树和AVL树类似,都是在进行...
分类:
其他好文 时间:
2016-08-05 17:57:20
阅读次数:
139
一、红黑树的基本概念红黑树是一种自平衡二叉查找树。典型的用途是实现关联数组,在实践中是高效的,时间复杂度为O(log)。主要实现查找,插入和删除功能。它的统计性能要高于平衡二叉树(AVL树)。红黑树是一种特定类型的二叉树。它用来组织数据,比如数字的块的一种结构,所有数..
分类:
其他好文 时间:
2016-07-21 22:06:07
阅读次数:
202
一:背景
平衡二叉树(又称AVL树)是二叉查找树的一个进化体,由于二叉查找树不是严格的O(logN),所以引入一个具有平衡概念的二叉树,它的查找速度是O(logN)。所以在学习平衡二叉树之前,读者需要了解二叉查找树的实现,具体链接:二叉查找树
那么平衡是什么意思?我们要求对于一棵二叉查找树 ,它的每一个节点的左右子树高度之差不超过1。(对于树的高度的约定:空节点高度是0;叶子节点高度是1。...
分类:
编程语言 时间:
2016-07-13 23:22:38
阅读次数:
210
平衡二叉树 题目描述 输入一棵二叉树,判断该二叉树是否是平衡二叉树。 思路 代码 ...
分类:
其他好文 时间:
2016-07-10 11:01:38
阅读次数:
151