二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树。 如图: ...
分类:
其他好文 时间:
2018-04-23 00:06:56
阅读次数:
160
简述: 二叉树是十分重要的数据结构,主要用来存放数据,并且方便查找等操作,在很多地方有广泛的应用。 二叉树有很多种类,比如线索二叉树,二叉排序树,平衡二叉树等,本文写的是最基础最简单的二叉树。 思路: 二叉树的建立采用的是递归的思想:给定一个指向根节点的指针,然后递归调用ceate()函数,自动生成 ...
分类:
其他好文 时间:
2018-04-12 00:24:02
阅读次数:
236
查找问题: 静态查找与动态查找 针对动态查找,数据如何组织? 二叉搜索树(BST,Binary Search Tree),也称二叉排序树或二叉查找树 二叉搜索树:一棵二叉树,可以为空;如果不为空,满足以下性质: 1.非空左子树的所有键值小于其根结点的键值。 2.非空右子树的所有键值大于其根结点的键值 ...
分类:
其他好文 时间:
2018-04-09 23:10:19
阅读次数:
239
二叉排序树 Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描写叙述 二叉排序树的定义是:或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上全部结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上全部结点的值均 ...
分类:
编程语言 时间:
2018-04-06 12:25:49
阅读次数:
190
Chapter 5 查找 1- 顺序查找法 O(n) 2- 折半查找O(logn) :二分查找 要求:关键字有序 过程: 判定树:叶子结点为方框,代表不成功的结点。 3- 分块查找:索引顺序查找 ASL = ASL1+ASL2 4- 二叉排序树(BST) 特点:左<根<右 5- 平衡二叉树(AVL) ...
分类:
其他好文 时间:
2018-03-25 18:15:34
阅读次数:
214
二叉树二叉树常被用作二叉查找树和二叉堆二叉树的第i层至多有2^{i-1}个结点深度为k的二叉树至多有2^k-1个结点一棵深度为k,且有2^k-1个节点的二叉树,称为满二叉树完全二叉树完全二叉树是效率很高的数据结构,堆是一种完全二叉树或者近似完全二叉树,所以效率极高,像十分常用的排序算法、Dijkstra算法、Prim算法等都要用堆才能优化,几乎每次都要考到的二叉排序树的效率也要借助平衡性来提高,而
分类:
其他好文 时间:
2018-03-12 18:44:32
阅读次数:
133
0、定义及性质 二叉搜索树(BST binary search tree):又叫二叉排序树或者二叉查找树,其满足以下性质 非空 左子树 所有值 小于 根节点值 非空 右子树 所有值 大于 根节点值 左、右子树都是二叉搜索树 由上可以推出: BST 最小值 一定在最 左 端端点上, 最大值 一定在最 ...
分类:
其他好文 时间:
2018-03-11 14:34:24
阅读次数:
166
$treap$ (树堆)= $tree$ (树) + $heap$ (堆) 显然,这个名字一定是二叉排序树和堆的结合 事实就是这样 怎么定义? 是一棵二叉树,但并不一定是完全二叉树 按权值形成二叉排序树,即左边比"我"小,右边比"我"大 按随机给的值形成一棵堆,以小根堆为例,即"我"的孩子的随机值小 ...
分类:
其他好文 时间:
2018-03-11 02:49:52
阅读次数:
216
例题传送门 听YZ哥哥说Splay是一种很神奇的数据结构,所以学习了一下它的最基本操作。O(1)的Spaly。 伸展树(Splay Tree),也叫分裂树,是一种二叉排序树,它能在O(logn)内完成插入、查找和删除操作。它由丹尼尔·斯立特Daniel Sleator和罗伯特·恩卓·塔扬Robert ...
分类:
其他好文 时间:
2018-03-09 10:35:45
阅读次数:
209
1 //查找算法: 2 // 顺序查找 3 // 二分查找(插值查找,斐波那契查找) 4 // 二叉排序树查找 5 // 哈希表查找 6 7 #include 8 using namespace std; 9 10 11 /*顺序查找*/ 12 int sequenceSearch(int*... ...
分类:
编程语言 时间:
2018-03-08 15:53:45
阅读次数:
171