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

实用数据结构基础(第五版) 课件 第07章 查找.pptx

实用数据结构基础(第五版) 课件 第07章 查找.pptx

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

第7章查找计算机系

主要内容7.1查找的基本概念7.2静态查找表顺序查找二分查找分块查找7.3动态查找表二叉有哪些信誉好的足球投注网站树/二叉排序树平衡二叉树27.4平衡多路查找树3阶B树4阶B树M阶B树B+树7.5哈希表哈希表与哈希方法哈希函数的构造方法处理冲突的方法

重难点分块查找二叉有哪些信誉好的足球投注网站树查找过程、结点的插入结点的删除(直接前驱或后继替代)平衡树二叉树结点的插入、删除不平衡形态的判定、旋转平衡多路查找树3阶和4阶B树B+树3哈希表/散列查找表哈希函数的构造解决冲突的方法各种查找算法的性能分析时间复杂度空间复杂度

7.1查找的基本概念(1)查找表由同一类型的数据元素(或记录)构成的集合,称为查找表。如图的学生招生录取登记表。4学号姓名性别入学总分录取专业┊┊┊┊三女438物联四男430计算五女445英语┊┊┊┊六男458人工智能┊┊┊┊┊表7-1学生招生录取登记表

7.1查找的基本概念(2)对查找表进行的操作查找某个特定的数据元素是否存在;检索某个特定数据元素的属性;在查找表中插入一个数据元素;在查找表中删除一个数据元素。(3)静态查找表在查找过程中,仅查找某个特定元素是否存在或查找其属性;查找表被创建后,一般不做修改和更新,即不能进行插入、删除和修改。(4)动态查找表既能查找,也可以更改(插入、删除、修改)5

7.1查找的基本概念(5)关键字(Key)数据元素(也称为记录)中某个数据项的值,用它可以标识数据元素。(6)主关键字(PrimaryKey)可以唯一地标识一个记录的关键字称为主关键字。例如:身份证号、学号、ISBN编号、手机号等。(7)次关键字(SecondaryKey)可以标识若干个记录的关键字称为次关键字。例如:姓名、生日等。6

7.1查找的基本概念(8)查找(也称为检索)(Searching)在查找表中确定是否存在一个数据元素的关键字等于给定值的操作。若表中存在这样一个数据元素,则称为查找成功;否则,称为查找失败。(9)内查找和外查找若整个查找过程全部在内存进行,则称为内查找;若在查找过程中还需要访问外存,则称为外查找。目前的数据结构课程中,一般仅介绍内查找,但是随着大数据时代的到来,外查找算法越来越重要。7

7.1查找的基本概念?8??

7.2静态查找表静态查找表,可以采用顺序存储,也可以采用链表存储;若采用顺序存储一般为第2章所介绍的顺序表为了处理方便,查找表中的数据元素并不总是从0号单元开始存储,也经常从数组的1号单元开始存储。若采用链式存储本节默认为无头结点的单向非循环链表静态查找表的特点:在查找过程中,表中数据元素不会发生变化。9

7.2.1顺序查找顺序查找是最基本的查找方法,既适用于顺序表,也适用于链表。该方法也称为线性查找。顺序查找的基本思想从表的一端开始,顺序扫描线性表,将给定值kx依次与各数据元素的关键字key进行比较。若相等,则查找成功,并给出数据元素在线性表中的位置或地址;若整个表扫描完毕,未能找到关键字与kx相同的数据元素,则查找失败,给出查找失败的提示。10

7.2.1顺序查找顺序查找算法的实现顺序存储时,数据元素一般从下标为1的数组单元开始存放;0号单元作为监视哨,用来存放待查找的值x。110123naxR1R2R3......Rni=n;while(i0a[i]!=x) i--;returni;//返回0说明未找到i=n;while(a[i]!=x) i--;returni;

7.2.1顺序查找顺序查找算法的实现12intseqSearch(SeqListlist,ElemTypex)//从表list中查找数据元素x{??inti=list.length; //从数组的高下标端开始查找??//0号单元用作监视哨,存放待查找的值或关键字??list.data[0]=x;??//while(i0list.data[i]!=x)??while(list.data[i]!=x)????i--;??if(i==0)????return-1; //查找失败,返回-1,表示没有找到??else????returni; //查找成功,返回其下标}

7.2.1顺序查找监视哨的作用:省去了循环中下标越界的判定,节约了比较时间;保存查找值的副本,查找时若遇到它,则表示查找失败;不必再判断查找表是否检测完,查找失败和成功时的处理,实现了统一。顺序查找性能分析对一个含有n个数据元素的表,查找成功时有:13?

7.2.1顺序查

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档