- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DS第7章 查找.ppt
第7章 查找 7.1 考纲要求及分析 考纲要求 1. 查找的基本概念 2. 顺序查找法 3. 折半查找法 4. B-树及其基本操作、B+树的基本概念 5. 散列(Hash)表 6. 查找算法的分析及应用 第7章 查找 7.1 考纲要求及分析 考纲分析 查找基于的数据结构是集合,为了提高查找效率,可以将查找集合组织为线性表或树表等数据结构,因此,本章与线性表和二叉树的有关知识联系紧密,复习时注意归纳比较。 本章要求: 1.掌握静态查找和动态查找的含义,以及各自适用的查找方法。 2.顺序查找比较简单,一般不会单独出题,主要掌握顺序查找的适用条件、平均比较次数等。折半查找主要掌握折半查找的适用条件、折半查找算法和折半查找过程、判定树的构造、查找长度的分析等。 3.二叉排序树主要掌握二叉排序树的插入和删除过程、查找性能分析,有关二叉排序树的算法设计实质上是二叉树的算法设计,因此要与二叉树的有关知识(如二叉树的存储结构、遍历算法等)联系起来。 4.平衡二叉树主要掌握平衡二叉树的调整类型和调整方法,由于平衡二叉树的算法(例如插入删除)比较复杂,一般不会考平衡二叉树的算法。 5. B-树是二叉排序树的改进,可以把B-树理解为m叉平衡排序树。主要掌握B-树的插入和删除操作的具体过程,这设计B-树结点的分裂和合并。 6. 散列查找主要掌握散列查找的基本思想和时间性能、散列函数的设计原则、冲突的解决方法以及根据冲突处理方法构造散列表的过程。散列表的算法主要是查找、插入和删除,开散列表的算法本质上是对单链表的操作,只要熟练掌握了单链表的算法和散列查找的方法,就能够很好的完成,闭散列表的算法本质上是对顺序表的操作,由于综合了线性表以及循环和散列查找的思想,算法会稍灵活一些。 散列查找、二叉排序树和折半查找是本章的重点,要求透彻理解查找算法和查找过程,能够进行平均查找长度的分析,对于散列表和二叉排序树,能够进行插入和删除操作。平衡二叉树和B-树是本章的难点,一般来说,不要求掌握具体算法,对于平衡二叉树要求能够进行平衡调整,对于B-树,要求能够执行插入、删除和查找操作。对于B+树了解其基本概念即可。 B-树 1970年Bayer提出B-树; 多路平衡外查找树; 在文件检索系统中用B-树作为文件索引; B-树 前面讨论的查找方法适用于组织规模较小、内存中能容纳的数据,是内查找方法。 B-树是一种平衡、有序、多路、动态的查找树,它是磁盘文件系统中索引技术常用的一种数据结构形式,如磁盘管理系统中的目录管理以及数据文件中的索引机构大多采用B-树。 B-树的定义 (★★★) 一棵m阶的B-树,或为空树,或为满足下列特性的m叉树: (1)树中每个结点至多有m棵子树; (2)若根结点不是叶子结点,则至少有两棵子树; (3)除根结点之外的所有非终端结点至少有 棵子树; (4)所有的非终端结点中包含下列信息数据(n,P0,K1,P1,K2,P2,…,Kn,Pn),其中:Ki(i=1,…,n)为关键字,且KiKi+1(i=1,…,n-1),Pi (i=0,…,n)为指向子树根结点的指针,且指针Pi-1所指子树中所有结点的关键字均小于Ki(i=1,…,n),Pn所指子树中所有结点的关键字均大于Kn,n(?m/2?-1≤n≤m-1)为关键字的个数。 (5)所有叶子结点都出现在同一层次上,并且不带信息(可以看作是外部结点或查找失败的结点,实际上这些结点不存在,指向这些结点的指针为空)。 B-树的定义 B-树是一种平衡的多路查找树。 一棵m阶的B-树,或为空树,或为满足下列特性的m叉树: 在m阶的B-树上,每个非终端结点可能含有: n 个关键字Ki(1≦i≦n)nm; n 个指向记录的指针Di (1≦i≦n); n+1 个指向子树的指针Ai(0≦i≦n); 这是B-树的多叉树的特性; B-树示例 B-树的定义 B-树是一种平衡的多路查找树。 一棵m阶的B-树,或为空树,或为满足下列特性的m叉树: 非叶结点中多个关键字均自小至大有序排列,即: 且指针Ai-1 所指子树中所有结点的关键字均小于Ki, 指针Ai 所指子树中所有结点的关键字均大于Ki, (i=1,2,…..n) n(?m/2?-1≤n≤m-1)为关键字的个数。 这是B-树的查找树的特性; B-树示例 B-树的定义 B-树是一种平衡的多路查找树。 一棵m阶的B-树,或为空树,或为满足下列特性的m叉树: 所有叶子结点都出现在同一层次上,并且不带信息(可以看作是外部结点或查找失败的
文档评论(0)