- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数 据 结 构 第8章 查 找 本章目标 8.1 查找的基本概念 8.2 线性表的查找 8.3 树表的查找 8.4 散列表的查找 8.1 查找的基本概念 集合的定义和表示 前面几章中我们已经学习了3种数据结构——线性结构、树、图 从本章起,我们学习最后一种数据结构——集合结构 集合的定义和表示 集合(collection)是由同一类型的数据元素(或纪录)组成的群集 由于集合中的数据元素之间存在着松散的关系(松耦合关系),因此集合是一种灵活的数据结构 集合的表示 集合的表示 一个数据元素可由若干个数据项(data items)组成。数据项是数据的不可分割的最小单位。例如,每个学生纪录由若干列(columns)组成,列就是学生纪录的数据项,每一列描述了学生某一方面的特征或属性 集合的存储结构 集合这种数据结构在计算机中如何表示?它采用什么样的存储结构? 由于计算机中数据的存储结构只有两种:顺序存储结构和链式存储结构。因此集合的存储结构也不外乎这两种 我们已经学习了顺序表,线性链表(如单链表),树的二叉链表等存储结构。应该说这些存储结构都可以作为集合来存放数据元素。所以,我们没有必要再寻求一种新的存储结构存放集合中的元素 换句话说,顺序表、线性链表、二叉链表等存储结构从广义上讲都是集合,其中每个元素或结点代表一条纪录 关键字与查找 查找是按关键字进行的 所谓关键字(key)是数据元素(或记录)中的某个数据项或某些数据项的组合,用它可以唯一标识一个数据元素(或纪录) 任意两个数据元素的关键字都不能相同 例如一条学生记录包含学号、姓名、性别、籍贯、电话、通讯地址等数据项。有些数据项不能唯一标识一个数据元素,而有的则可以。例如,姓名就不能唯一标识一条纪录(因有同名的人),而学号则可以唯一标识一条纪录(每个学生学号是唯一的,不能相同) 查找的定义 查找(find),也称为检索(retrieve)或搜索(search),就是根据给定值k,在一个集合(或表)中查找出其关键字等于k的数据元素(或纪录),若集合中有这样的元素,则查找成功,并返回整个数据元素(或纪录)或指出该元素在表中的位置;若表中不存在这样的记录,则称查找失败,并作相应处理 动态集合(dynamic collection) 在对集合中的元素进行查找时,若集合中不存在给定值k,那么我们就要将它插入集合中;也可以执行删除元素的操作,这样的集合叫动态集合 静态集合(static collection) 对集合只能做查找,不能做插入或删除元素的操作,只返回查找成功还是失败的结果,这样的集合叫静态集合 平均查找长度(ASL) 查找运算的基本操作是关键字的比较,所以,通常把查找过程中对关键字执行的平均比较次数(也称为平均查找长度 —— average search length)作为衡量一个查找算法效率优劣的标准 对于一个含有n个元素的集合(或表),查找成功时的平均查找长度可表示为 8.2 线性表的查找 8.2.1 无序表的查找——顺序查找 静态集合中的元素在初次建表时建立,不再改变 顺序查找是最基本的查找方法之一。所谓顺序查找,又称线性查找,主要用于在线性结构中进行查找 顺序查找的基本思想是:从表的一端开始,顺序扫描线性表,依次将扫描到的元素的关键字和待找的值k作比较,若相等,则查找成功;若整个表扫描完毕,仍未找到其关键字等于k的元素,则查找失败 以顺序表或线性链表表示的静态集合可以采用顺序查找 顺序查找的表中的元素可以是无序的 顺序查找的算法实现 若返回值为0表示查找不成功,否则查找成功。函数中查找的范围从record[n]到record[1](即从后向前),record[0]作为监视哨,保存要找的值,查找时若遇到它,表示查找不成功 顺序查找的性能分析 假设在每个位置查找的概率相等,即pi= ,由于查找是从后往前扫描,则有每个位置的查找比较次数cn=1, … ,c2= n-1,c1=n ,于是,查找成功的平均搜索长度为 顺序查找的优缺点 优点:算法简单,对表结构无任何要求,无论是用数组还是用线性链表来存放数据元素,也无论元素之间是否按关键字有序或无序,它都同样适用。而且对于线性链表,只能顺序查找 缺点:查找效率低,当n较大时,不宜采用顺序查找,而必须寻求更好的查找方法 8.2.2 有序表的查找——折半查找 折半查找(或二分法搜索,binary search)是一种高效的查找方法 折半查找有两个条件限制 要求表必须采用顺序存储结构,即顺序表 表中元素必须按关键字有序(升序或降序)排列 折半查找举例 给定有序表中关键字为8, 17, 25, 44, 68, 77, 98, 100, 115, 125,查找k=17的情况 折半查找举例
您可能关注的文档
- 新数控机床控制技术与系统第2版 教学课件 王侃夫 上海市职业技术教育课程改革与教 第八章 典型数控系统介绍.ppt
- 新数控机床控制技术与系统第2版 教学课件 王侃夫 上海市职业技术教育课程改革与教 第二章 位置检测装置.ppt
- 新数控机床控制技术与系统第2版 教学课件 王侃夫 上海市职业技术教育课程改革与教 第九章 数控机床控制技术应用实例.ppt
- 新数控机床控制技术与系统第2版 教学课件 王侃夫 上海市职业技术教育课程改革与教 第七章 数控机床PLC.ppt
- 新数控机床控制技术与系统第2版 教学课件 王侃夫 上海市职业技术教育课程改革与教 第三章 驱动电动机.ppt
- 新数控机床控制技术与系统第2版 教学课件 王侃夫 上海市职业技术教育课程改革与教 第十章 数控机床故障诊断.ppt
- 新数控机床控制技术与系统第2版 教学课件 王侃夫 上海市职业技术教育课程改革与教 第五章 数控系统及功能.ppt
- 新数控机床控制技术与系统第2版 教学课件 王侃夫 上海市职业技术教育课程改革与教 第一章 概 论.ppt
- 新数控机床与编程 教学课件 刘书华 第八章.ppt
- 新数控机床与编程 教学课件 刘书华 第二章.ppt
- 迷你中等长度导管管理专家共识PPT课件.pptx
- 迷你中等长度导管管理专家共识(2025)PPT课件.pptx
- 临床管道安全集束化护理措施 PPT课件.pptx
- 迷你中等长度导管管理专家共识(2025)PPT课件.pptx
- 迷你中等长度导管管理专家共识(2025)PPT课件.pptx
- 1珠海、深圳、广州、佛山城更政策搜集汇总20250115.pdf
- 内镜下十二指肠-空肠旁路套管置入术减重专家建议解读PPT课件.pptx
- 内镜下十二指肠-空肠旁路套管置入术减重专家建议解读PPT课件.pptx
- 胶原蛋白口周年轻化填充的操作规范专家共识(2025)解读PPT课件.pptx
- 胶原蛋白口周年轻化填充的操作规范专家共识(2025)解读PPT课件.pptx
最近下载
- 园林绿化工技能竞赛理论考试题库500题(含答案).docx VIP
- 2025年外研版四年级上册英语Unit 6综合检测试卷及答案.pptx VIP
- DB41T 1282-2016 油用牡丹 凤丹牡丹播种育苗技术规程.docx VIP
- 阿里巴巴-关乎天下--文化、战略、组织word版本.ppt VIP
- 医疗器械质量记录表格(全套).pdf VIP
- 建筑施工扣件式钢管脚手架安全技术规范(JGJ130-2011完整版).docx VIP
- 全国婚姻家族纠纷人民调解工作知识竞答题库及答案第1批(100题).docx VIP
- 最新2025年安徽省招聘社区工作者考试题(及答案).docx VIP
- NS8000子站说明书v3.0 2010.pdf VIP
- 04S803 圆形钢筋混凝土蓄水池建筑工程图集.pdf VIP
文档评论(0)