二叉排序树又称“二叉查找树”、“二叉搜索树”。二叉排序树:或者是一棵空树,或者是具有下列性质的二叉树:1. 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;2. 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;3. 它的左、右子树也分别为二叉排序树。二叉排序树通常采用二叉...
分类:
编程语言 时间:
2015-07-09 13:06:54
阅读次数:
121
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. 问题描述 给定一个二叉搜索树,找出第k小的元素。注意:可以假设k总是存在,1≤k≤BST总元素数1 \le k \le BST总元素数。2. 方法与思路 根据二叉搜索树的特点,中序遍历的结果即是排序好的数组。那么找出第k小的数,只需要先进行一次中序遍历即可。
/**
* Definition for a binary tree node.
* struct TreeNode {...
分类:
其他好文 时间:
2015-07-07 13:09:15
阅读次数:
119
Two elements of a binary search tree (BST) are swapped by mistake.Recover the tree without changing its structure.题意: 一颗二叉搜索树中有2个结点的元素被误换了,要求恢复二叉搜索树的....
分类:
其他好文 时间:
2015-07-06 21:27:08
阅读次数:
113
前面我们学习二叉搜索树的时候发现在一些情况下其高度不是很均匀,甚至有时候会退化成一条长链,所以我们引用一些”平衡”的二叉搜索树。红黑树就是一种”平衡”的二叉搜索树,它通过在每个结点附加颜色位和路径上的一些约束条件可以保证在最坏的情况下基本动态集合操作的时间复杂度为O(nlgn).下面会总结红黑树的性质,然后分析红黑树的插入操作,并给出一份完整代码。先给出红黑树的结点定义:#define RED 1...
分类:
编程语言 时间:
2015-07-05 12:28:44
阅读次数:
245
前面我们学习二叉搜索树的时候就发现在一些情况下其高度不是很均匀,甚至有时候会退化成一条长链。红黑树也是一种”平衡”的二叉搜索树,它通过在每个结点附加颜色位和路径上的一些约束条件可以保证在最坏的情况下基本动态集合操作的时间复杂度为O(nlgn).下面会总结红黑树的性质,然后分析红黑树的插入操作,并给出一份完整代码。先给出红黑树的结点定义:#define RED 1
#define BLACK 0///...
分类:
编程语言 时间:
2015-07-05 09:36:48
阅读次数:
122
转载请注明出处:http://www.cnblogs.com/StartoverX/p/4617963.html 线段树是一颗二叉搜索树,线段树将一个区间划分成一些单元区间,每一个区间对应线段树的一个叶节点。对于线段树的每一个非叶子节点[a,b],它的左儿子表示的区间为[a,(a+b)/2],右.....
分类:
编程语言 时间:
2015-07-03 12:02:27
阅读次数:
118
数据结构之AVL树1.基本概念AVL树的复杂程度真是比二叉搜索树高了整整一个数量级——它的原理并不难弄懂,但要把它用代码实现出来还真的有点费脑筋。下面我们来看看:1.1AVL树是什么?AVL树本质上还是一棵二叉搜索树(因此读者可以看到我后面的代码是继承自二叉搜索树的),它的特点是:1.本身首先是一棵...
分类:
其他好文 时间:
2015-07-02 23:52:24
阅读次数:
250
前言:
之前写过一篇关于二叉搜索树的博客:Java对二叉搜索树进行插入、查找、遍历、最大值和最小值的操作
二叉查找树重要性质:
(1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值;
(2)若右子树不空,则右子树上所有结点的值均大于它的根结点的值;
(3)左、右子树也分别为二叉排序树;
如图:
这次我想分享的是二叉搜索树中节点是如何删除的,删除节点是二叉搜索树...
分类:
编程语言 时间:
2015-07-02 14:11:46
阅读次数:
190
Trie树,又称字典树,单词查找树或者前缀树,是一种用于快速检索的多叉树结构。
Trie树与二叉搜索树不同,键不是直接保存在节点中,而是由节点在树中的位置决定。一个节点的所有子孙都有相同的前缀(prefix),也就是这个节点对应的字符串,而根节点对应空字符串。一般情况下,不是所有的节点都有对应的值,只有叶子节点和部分内部节点所对应的键才有相关的值。
A trie, pronounced...
分类:
其他好文 时间:
2015-06-30 16:28:06
阅读次数:
133