网站大量收购闲置独家精品文档,联系QQ:2885784924

数据结构与算法课件:查找.ppt

数据结构与算法课件:查找.ppt

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共87页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

B树定义8.3一棵m阶B树或者为空,或者为满足下列性质的m叉树树中每个结点至多有m棵子树;根结点至少有两棵子树;除根结点之外,每个结点至少有?m/2?棵子树;所有叶结点都出现在同一层上;所有结点都包含如下形式的数据: (n,A0,K1,A1,K2,A2,…,Kn,An)其中n为关键字的个数Ki(i=1,2,…,n)为关键字,且满足K1K2…KnAi(i=0,1,…,n)为指向子树根结点的指针,且对于i=1,2,…,n-1Ai所指子树中全部结点的关键字均大于Ki而小于Ki+1A0所指子树中全部结点的关键字均小于K1An所指子树中全部结点的关键字均大于Kn对于叶结点,所有指针Ai皆为空。对于具有n个关键字的非叶结点,将有n+1棵子树一棵3阶(m=3)B树每个结点中或者含有一个关键字,或者含有两个关键字B树的查找类似二叉查找树中的查找方法在如下的B树中,分别查找关键字I和MB树的建立建立B树的过程,即是从空树开始逐个插入关键字的过程给定数据序列如下18,15,41,10,45,30,25,3,71,60,50,72依次插入到初始为空的5阶B树中第四节哈希表及其查找哈希方法使用的存储结构是数组,它采用特殊的机制存放数据哈希方法把关键字值映射到数组中的一个位置,这通过一个函数来实现,这个函数称为哈希函数,通常用H来表示存放记录的数组称为哈希表,用T来表示哈希表中的一个位置也称为一个槽从数据存放到数据访问的整套机制称为哈希方法二叉查找树的查找从根结点开始,如果根结点的关键字等于查找目标target,则查找成功如果目标target小于根结点的关键字值,则在它的左子树继续查找如果目标target大于根结点的关键字值,则在它的右子树继续查找依此类推在BST中的查找,是沿着从根到叶结点的一条路径向下查找,如果在路径中某结点的关键字值与目标相等,则查找成功,返回1;若遇到空指针则表示查找失败,返回0,表示二叉查找树中不存在查找目标target示例在下面的二叉查找树中,分别查找关键字为82和37二叉查找树的查找算法采用递归程序方式二叉查找树的查找算法采用迭代实现方式二叉查找树的生成二叉查找树的生成就是从空树开始依次将结点插入到树中的过程若二叉查找树为空,则新结点为二叉查找树的根结点;若二叉查找树非空,则比较新结点的关键字值和根结点的关键字值,若新结点关键字小于根结点关键字,则新结点插入到根的左子树中,否则插入到根的右子树中插入新结点的算法示例在如下的BST中依次插入关键字58和17示例从空树开始,依次插入关键字分别为h,a,r,d的结点,建立一棵二叉查找树二叉查找树的删除假设要删除的结点为x,它的双亲结点是f,不失一般性,设x为f的左孩子,分三种情况考虑x的度为0,即x为叶结点,此种情况最为简单,删除该结点后,只须令f的左孩子指针为空即可x的度为1,即x只有左子树LTree或只有右子树RTree,删除x结点后,只须令LTree或RTree直接成为其双亲结点f的左子树即可。x的度为2,即x结点的左、右子树均不空,这种情况比较复杂,可采用两种办法以x的直接前驱w来顶替它,再删除w以x的直接后继u来顶替它,再删除u删除示例分别删除关键字45和60所在的结点同一组关键字,如果插入次序改变了,则可能会生成不同的二叉查找树二叉查找树的高度不仅决定了查找时最大的比较次数,也影响了平均查找长度一般来说,对于n个记录,当它们的关键字随机出现时,所构成的二叉查找树还是比较均衡的。在这样的二叉查找树上进行查找,其查找成功的平均查找长度为O(logn)AVL树两位数学家Adel’son-Vel’skii和Landis在1962年提出了一种新的树结构在二叉查找树的每个结点中增加一个标记,称为平衡因子,定义为该结点左子树的高度减去右子树的高度当每个结点的平衡因子的绝对值不大于1时,称二叉查找树为AVL树AVL树是平衡的,有的教材也称为平衡二叉树树定义8-3AVL树或者是一棵空树,或者是具有下列性质的二叉查找树:(1)它的左子树和右子树都是AVL树(2)它的左子树和右子树的高度之差的绝对值不大于1若二叉排序树中所有结点的平衡因子均介于-1到+1之间时,称树是平衡的,否则称为失平衡例8-12高度为4的AVL树中,最少有多少个结点?解:有7个结点在所有等高的AVL树中,满足“除叶结点外,每个分支结点的平衡因子是-1或+1”条件的AVL树所含的结点个数最少高度为0的AVL树所含结点个数为0。高度为1的AVL树仅含有1个结点。高度为2的AVL树,一棵子树的高度为1,另一棵子树的高度为0,树中含有的结点个数=1+0+1=

您可能关注的文档

文档评论(0)

ning2021 + 关注
实名认证
内容提供者

中医资格证持证人

该用户很懒,什么也没介绍

领域认证该用户于2023年05月10日上传了中医资格证

1亿VIP精品文档

相关文档