B-树
B-tree树即B树,B即Balanced,平衡的意思,B-树又称为多路平衡查找树。因为B树的原英文名称为B-tree,而国内很多人喜欢把B-tree译作B-树,其实,这是个非常不好的直译,很容易让人产生误解。如人们可能会以为B-树是一种树,而B树又是另一种树。而事实上是,B-tree就是指的B树。
一、定义
B-树是一种多路搜索树(并不一定是二叉的)
1970年,R.Bayer和...
分类:
其他好文 时间:
2015-07-08 22:45:10
阅读次数:
216
1.红黑树性质
红黑树是一种自平衡二叉查找树(BST),其中的每个节点都遵守下面的规则:
性质1. 节点是红色或黑色
性质2. 根节点是黑色
性质3. 所有叶子都是黑色(叶子是NIL节点)
性质4. 如果一个节点是红的,则它的两个儿子都是黑的。 (即不可能存在相邻的连个红色节点。红色节点不能有红色父节点或红色孩子节点)
性质5. 从任一节点到其叶子的所有简单路径都包含相同数目的黑色节点...
分类:
其他好文 时间:
2015-07-08 02:07:48
阅读次数:
174
【二叉查找树的性质】 二叉查找树是满足以下条件的二叉树:
左子树上的所有节点值均小于根节点值
右子树上的所有节点值均不小于根节点值
左右子树也都是二叉查找树
不存在两个节点的值相等...
分类:
其他好文 时间:
2015-07-07 22:58:11
阅读次数:
222
将数组构造成二叉查找树:/*public class BinaryTree { private Node root; *//** * 内部类实现结点类,可提高安全性 * *//* private static class Node { ...
分类:
其他好文 时间:
2015-07-07 12:56:12
阅读次数:
151
97. 二叉排序树时间限制1000 ms内存限制65536 KB题目描述二叉排序树,也称为二叉查找树。可以是一颗空树,也可以是一颗具有如下特性的非空二叉树:若左子树非空,则左子树上所有节点关键字值均不大于根节点的关键字值;若右子树非空,则右子树上所有节点关键字值均不小于根节点的关键字值;左、右子树本...
分类:
编程语言 时间:
2015-07-07 12:24:23
阅读次数:
121
距离上次使用二叉树快有一年的时间了,是时候重温一次了。【二叉树的定义】二叉树是层次结构,要么是空集,要么是由一个成为根的元素和两颗不同的子二叉树组成(递归定义,子二叉树也可能是空集)。两个子二叉树分别称为左子树和右子树。一个节点的左子树的根节点称为该节点的左孩子,没有孩子的点称为叶节点。二叉查找树的...
分类:
编程语言 时间:
2015-07-06 15:46:43
阅读次数:
165
1 //与上一次实现不同,这里使用了大量的指针引用, 2 //因此节省了一个指向父节点的指针 3 #include 4 #include 5 #include 6 #include 7 8 using namespace std; 9 10 template 11 class...
分类:
其他好文 时间:
2015-07-02 19:16:56
阅读次数:
118
////二叉查找树,为了实现方便,给每个节点添加了一个指向父节点的指针#include#include#include#includeusing namespace std;templateclass BinarySearchTree{ private: struct Node { T da...
分类:
其他好文 时间:
2015-07-02 17:02:55
阅读次数:
107
前言:
之前写过一篇关于二叉搜索树的博客:Java对二叉搜索树进行插入、查找、遍历、最大值和最小值的操作
二叉查找树重要性质:
(1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值;
(2)若右子树不空,则右子树上所有结点的值均大于它的根结点的值;
(3)左、右子树也分别为二叉排序树;
如图:
这次我想分享的是二叉搜索树中节点是如何删除的,删除节点是二叉搜索树...
分类:
编程语言 时间:
2015-07-02 14:11:46
阅读次数:
190