上一节 已经说了 AVL树的插入 操作,可是 只有 插入,没有删除,怎么能叫 动态 查找表呢。
呵呵,博主 赶紧 去 研究了一番。下面 是成果:
AVL树的删除 大致 分为 两大块: 1. 查找节点 并 删除 2. 保持 删除 后 平衡因子的 影响
1. 首先 找到 这个 节点,如果 节点 不存在,直接 退出 函数
if (*tree == NULL){//没找到
...
分类:
其他好文 时间:
2015-04-22 14:01:33
阅读次数:
176
查找定义:根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素(或记录)。
查找表分类:静态查找表和动态查找表。
静态查找表:只查找,而不进行插入,删除。
动态查找表:在查找过程中同时插入查找表中不存在的数据元素,或者从查找表中删除已经存在的某个数据元素。
静态表的 查找 大致 四种 算法: 线性查找,二分查找,斐波那契查找和插值查找。 其中 在线性...
分类:
其他好文 时间:
2015-04-20 13:16:26
阅读次数:
128
一、查找概论
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
除了各种树表之外,还可以采用散列技术来表示并实现动态查找表。“散列”既是一种存储方式,又是一种查找方法。这种查找方法称为散列查找。按散列存储方式构造的存储结构称为散列表。散列技术的核心是散列函数。
散列函数是一种将键值映射为散列表中的存储位置的函数。对任意给定的动态查找表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
第十一章执行查询算法基本概念:三类查找方法:线性查找、树形查找、哈希表查找动态查找表:在查找的同时,对表做修改操作(如插入和删除),则相应的表称为动态查找表静态查找表:与动态查找表相反查找过程中对关键字需要执行的平均比较次数(也称平均比较长度作为衡量一个查找..
分类:
其他好文 时间:
2014-10-01 00:37:01
阅读次数:
338
二叉排序树的创建、查询、插入与删除
一、简述二叉排序树的思想:
动态查找表中主要有二叉树结构和树结构两种,而二叉树结构分为二叉排序树和平衡二叉树,树结构分为B-树和B+树等。
二叉排序树可以是一颗空树二叉排序树的性质:二叉排序树上的节点满足左子树
也就是说二叉排序树必须有顺序,且满足左子树
二、构建二叉排序树
创建二叉排序树通常...
分类:
其他好文 时间:
2014-07-10 22:57:28
阅读次数:
334