二叉排序树 是一种 动态 查找树,它的 创建 是在 查找中 生成的。 当 查找 失败时,它将 数 插入到 合适的 位置中去。 二叉查找树的 左子树上的值 父亲的 值 小,而 右子树上的值 总是 比 父节点 大。这样 查找 类似与 二分 查找,其 最多 查找 的 次数 等于 树的 深度。
下面的代码 主要 是 两方面:插入 节点 和 删除 节点。
下面 给出 代码, 欢迎 指出 代码 不...
分类:
编程语言 时间:
2015-04-21 09:52:24
阅读次数:
163
查找定义:根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素(或记录)。
查找表分类:静态查找表和动态查找表。
静态查找表:只查找,而不进行插入,删除。
动态查找表:在查找过程中同时插入查找表中不存在的数据元素,或者从查找表中删除已经存在的某个数据元素。
静态表的 查找 大致 四种 算法: 线性查找,二分查找,斐波那契查找和插值查找。 其中 在线性...
分类:
其他好文 时间:
2015-04-20 13:16:26
阅读次数:
128
http://www.iteye.com/topic/614070此少侠总结的特棒,直接收藏了。我们这个专题介绍的动态查找树主要有: 二叉查找树(BST),平衡二叉查找树(AVL),红黑树(RBT),B~/B+树(B-tree)。这四种树都具备下面几个优势:(1) 都是动态结构。在删除,插入操作的时...
分类:
其他好文 时间:
2015-03-21 12:31:34
阅读次数:
151
一、查找概论
1.查找:即根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素(或纪录)。若表中不存在关键字等于给定值的纪录,则称查找不成功,此时查找的结果可给出一个"空"纪录或"空"指针。另外,查找表按照操作方式来分有两大种:静态查找表和动态查找表。
(1)查找表(Search table):是由同一类型的数据元素(或纪录)构成的集合;
(2)关键字(Key):是数据元素中某个...
分类:
其他好文 时间:
2015-03-20 01:24:19
阅读次数:
184
1.动态查找表的特点:表结构本身是在查找过程中动态生成的,即对于给定值key,若表中存在其关键字等于key的记录,则查找成功返回,否则插入关键字等于key的记录。 1 //---------------抽象数据类型动态查找表的定义--------------------- 2 ADT Dynamic...
分类:
其他好文 时间:
2015-03-16 06:11:42
阅读次数:
119
查找的基本概念 什么是查找?查找是根据给定的某个值,在表中确定一个关键字的值等于给定值的记录或数据元素。查找算法的分类 若在查找的同时对表记录做修改操作(如插入和删除),则相应的表称之为动态查找表;否则,称之为静态查找表。 此外,如果查找的全过程都在内存中进行,称之为内查找;反之,如果查找过程中需要...
分类:
其他好文 时间:
2015-03-10 19:19:51
阅读次数:
156
前面我们说了二叉树前序中序后序遍历的递归非递归算法的实现,下面我们再来说说二叉搜索树~
二叉排序树分为静态查找(find)和动态查找(insert、delete)
二叉搜索树:一棵二叉树,可以为空;如果不为空,满足下列性质:
1.非空左子树的所有键值小于其根结点的键值。
2.非空右子树的所有键值大于其根结点的键值
3.左右子树都是二叉搜索树!!
...
分类:
编程语言 时间:
2015-02-11 09:24:00
阅读次数:
355
二叉搜索树:动态查找a.非空左子树的所有值小于其根接点值b.非空右子树的所有值大于其根接点值c.左、右子树均为二叉搜索树Position Find( ElementType X, BinTree BST ):从二叉搜索树BST中查找元素X,返回其所在结点的地址Position FindMin( Bi...
分类:
其他好文 时间:
2014-12-28 11:41:26
阅读次数:
128
除了各种树表之外,还可以采用散列技术来表示并实现动态查找表。“散列”既是一种存储方式,又是一种查找方法。这种查找方法称为散列查找。按散列存储方式构造的存储结构称为散列表。散列技术的核心是散列函数。
散列函数是一种将键值映射为散列表中的存储位置的函数。对任意给定的动态查找表T,如果选定了某个“理想的”散列函数H及相应的散列表L,则对T中的每个数据元素X,函数值 H(X.key)就是X在散列...
分类:
其他好文 时间:
2014-12-18 22:21:34
阅读次数:
348
1. 什么是二叉排序树?
二叉排序树是一种特殊的二叉树,可以是一棵空树,也可以是具有下列性质的二叉树:
1. 若左子树不为空,那么左子树所有结点的值都小于它的根结点的值。
2. 若右子树不为空,那么右子树所有结点的值都大于它的根节点的值。
3. 它的左右子树也分别是二叉排序树。
二叉排序树又称二叉查找树,是一种动态查找表,所谓动态查找表是指除了查询...
分类:
编程语言 时间:
2014-11-01 11:57:07
阅读次数:
281