设定哈希函数H(key) = key MOD 11.PPT

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

数据结构 第九章 查找 内容提要 基本要求、重点、难点 3、静态查找表和动态查找表 根据对查找表的操作不同,查找表又分两类。 静态查找表:只能进行查找而不能插入和删除的查找表; 动态查找表:可以 进行查找、插入和删除的查找表。 4、关键字。 用于确定不同数据元素(记录)的数据项或数据项组合称为关键码;若某个数据项或数据项组合的值,能唯一确定不同的数据元素(记录),则称该数据项或数据项组合称为主关键码;而不能唯一确定数据元素(记录)的关键码,称为次关键码。 5、查找成功与不成功。 若查找表中存在这样一个记录,则称“查找成功”。查找结果给出整个记录的信息,或指示该记录在查找表中的位置; 否则称“查找不成功”。 6、内查找和外查找 若整个查找过程全部在内存进行,则称为内查找;若在查找过程中还需要访问外存,则称为外查找。本书仅介绍内查找。 6、平均查找长度ASL 查找算法的效率,主要看要查找的值与关键字的比较次数,通常用平均查找长度来衡量。 对一个含n个数据元素的表,假定查找每个数据元素的概率分别为:pi(i=1,2,…,n), 则查找成功时,平均查找长度是: 二、查找表的存储结构 查找的方法取决于查找表的结构。 由于查找表中的数据 元素之间不存在明显的组织规律,因此不便于查找。为了提 高查找的效率, 需要选择合适的存储结构。常用的数据结构 有以下三种: 1、顺序表。适合于静态查找表的查找 2、链表动态存储结构。适合于静态查找表的查找 3、哈希表。适合于静态查找表的查找 1.设表长为n,low、high和mid分别指向待查元素所在区间的上界、下界和中点,k为给定值。 2.初始时,令 low=1,high=n,mid=?(low+high)/2? 让k与mid指向的记录比较 若k==r[mid].key,查找成功 若kr[mid].key,则high=mid-1 若kr[mid].key,则low=mid+1 3.重复上述操作,直至lowhigh时,查找失败。 折半查找算法实现 小 结: 2.二叉排序树的插入算法 根据动态查找表的定义,“插入”操作在查找不成功时才进行; 三.索引顺序表的查找 1)由索引确定记录所在区间; 2)在顺序表的某个区间内进行查找。 注意:索引可以根据查找表的特点来构造。 可见, 索引顺序查找的过程也是一个“缩小区间”的查找过程。 索引顺序查找的平均查找长度 = 查找“索引”的平均查找长度 + 查找“顺序表”的平均查找长度 索引顺序表的查找过程: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 22 12 13 8 9 20 33 42 44 38 24 48 60 58 74 57 86 53 22 48 86 1 7 13 索引表 查38 例如 想一想:若数组是a[0…59, 0…69],结果是否仍为8950? 维界虽未变,但此时的a[32,58]不再是原来的a[32,58] 练习一下吧 1.己知有序表(12,18,24,35,47,50,62,83,90,115,134)当用二分法查找90时,需__________次查找成功,47时__________成功,查100时,需__________次才能确定不成功。 顺序表和有序表的查找方法及其平均查找长度的计算方法。 静态查找树的构造方法和查找算法,理解静态查找树和折半查找的关系。 ?(n) ?(1) ?(n) ?(1) 查找 插入 删除 无序顺序表 无序线性链表 有序顺序表 有序线性链表 ?(n) ?(n) ?(logn) ?(n) ?(1) ?(1) ?(n) ?(1) 9.3 动 态 查 找 树 综合上一节讨论的几种查找表的特性: 1)从查找性能看,最好情况能达 ?(logn),此时要求表有序; 2)从插入和删除的性能看,最好情况能达?(1),此时要求存储 结构是链表。 可得如下结论: (1)若它的左子树不空,则左子树上所有结点的值均小于根结点的值; 1.定义:二叉排序树或者是一棵空树;或者是具有如下特性的二叉树: (3)它的左、右子树也都分别是二叉排序树。 (2)若它的右子树不空,则右子树上所有结点的值均大于根结点的值; 一、二叉排序树二叉

文档评论(0)

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

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

1亿VIP精品文档

相关文档