与链表不同,树是一种非线性的数据结构。树中最常用的是二叉树,二叉树限制了子树的数量,也就是每个结点的子树至多2个,并且这两个子树是有顺序的。而二叉搜索树(二叉查找树,二叉排序树)是指根节点的关键字大于左子树的,而小于右子树,并且,左右子树也是一颗二叉搜索树。也就是说中序遍历一颗二叉搜索树,它的输.....
分类:
编程语言 时间:
2015-07-12 18:49:50
阅读次数:
238
1、什么样的二叉树是二叉搜索树? 答:对于树中的结点X,它的左子树中的项均小于X中的项,它的右子树中的项均大于中的项。2、性质 性质1:二叉查找树的平均深度是O(logN); 性质2:从根节点一直往左走,直至无左路可走,既得最小元素; 性质3:从根节点一直往右走,直至无右路可走,既得最大元素...
分类:
其他好文 时间:
2015-07-12 15:36:44
阅读次数:
103
二叉树 在计算机科学中,二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用于实现二叉查找树和二叉堆。 二叉树的每个结点至多只有二棵子树(不存在度大于2的结点),二叉树的子树有左右之分,次序不能颠倒。.....
分类:
其他好文 时间:
2015-07-12 15:27:02
阅读次数:
101
【红黑树的性质】红黑树是一种特殊的二叉查找树,红黑树的所有空指针用外部节点nullNode(nullNode->rchild=nullNode->rchild=nullNode)代替。红黑树具有以下性质:
根节点是黑色的
所有节点不是黑色就是红色
外部节点都是黑色的
红色节点的孩子节点一定是黑色的
所有从根节点到外部节点的所有路径上,包含相同数目的黑色节点。...
分类:
其他好文 时间:
2015-07-12 09:47:56
阅读次数:
116
介绍: 使二叉树成为二叉查找树的性质是:对于树中的每一个节点X,它的左子树中全部keyword值小于X的keyword值。而它的右子树中全部keyword值大于X的keyword值。二叉查找树声明struct TreeNode;typedef struct TreeNode *Position...
分类:
其他好文 时间:
2015-07-10 10:57:45
阅读次数:
110
问题描述:
输入一个整数数组,判断该数组是不是某二叉查找树的后序遍历的结果。如果是返回true,否则返回false。
解析:
根据后序遍历的定义,如果一个序列是二叉树的后续遍历的结果,那么我们不难得出,序列的最后一个节点必定是二叉树的根节点,除了根节点外,序列中前一部分是二叉树的左子树的节点,后面一部分是二叉树的右子树的节点。同理,左右子树的遍历结果也具有一样的特点。...
分类:
其他好文 时间:
2015-07-10 00:29:54
阅读次数:
107
二叉查找树(Binary Search Tree),也称有序二叉树(ordered binary tree),排序二叉树(sorted binary tree),是指一棵空树或者具有下列性质的二叉树:1. 若任意节点的左子树不空,则左子树上所有结点的值均小于它的根结点的值;2. 若任意节点的右子树不...
分类:
编程语言 时间:
2015-07-10 00:07:29
阅读次数:
230
二叉排序树又称“二叉查找树”、“二叉搜索树”。二叉排序树:或者是一棵空树,或者是具有下列性质的二叉树:1. 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;2. 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;3. 它的左、右子树也分别为二叉排序树。二叉排序树通常采用二叉...
分类:
编程语言 时间:
2015-07-09 13:06:54
阅读次数:
121