- 1、本文档共66页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[理学]数据结构数 9-查找
第九章 查找 查找表: 由同一类型的数据元素(记录)组成的集合。 记作:ST={a1,a2,...,an} 查找表的操作: 生成查找表 查找元素(记录)x在是否在表ST中 查找元素(记录)x的属性 插入新元素(记录)x 删除元素(记录)x ...... 查找----根据给定的某个关键字值,在查找表中确定一个其关键字等于给定值的记录或数据元素。 设k为给定的一个关键字值,R[1..n]为n个记录的表,若存在R[i].key=k,1≤i≤n,称查找成功;否则称查找失败。 静态查找: 查询某个特定的元素,检查某个特定的数据元素的属性,不插入新元素或删除元素(记录)。 动态查找: 在查找过程中,同时插入查找表中不存在的数据元素(记录)。 查找表的类型及其查找方法 (1) 静态查找表 ● 顺序表,用顺序查找法 ● 线性链表,用顺序查找法 ● 有序的顺序表,用:折半查找法; **斐班那契查找法;插值查找法; ● 索引顺序表/分块表,用分块查找法。 (2) 动态查找表 ● 二叉排序树,平衡二叉树(AVL树) **● B树, B+树, 键树 (3) 哈希(Hash)表 平均查找长度----查找一个记录时比较关键字次数的平均值。 n ASL=∑ PiCi i=1 Pi --- 查找r[i]的概率 Ci --- 查找r[i]所需比较关键字的次数 2. 顺序查找法(sequential search)算法设计 算法1:假定不使用监视哨elem[0] 基本思想: 将关键字k依次与记录的关键字: elem [n].key, elem[n-1].key,..., elem[1].key 比较。 如果找到一个记录elem[i],有: elem[i].key=k (1≤i≤n), 则查找成功,停止比较,返回记录的下标i; 否则,查找失败,返回0。 算法2:假定使用监视哨elem[0] 基本思想: 先将关键字k存入elem[0].key,再将k依次与 elem[n].key,...,elem[1].key,elem[0].key 进行比较。 如果找到一个记录,有: k=elem [i].key, (0≤i≤n),则停止比较。 如果 i0,则查找成功;否则,查找失败。 输入:查找表ST,查找条件(关键字)k 输出:成功时:记录序号,失败时:0 int sequsearch(SSTable ST,keytype k) { int i=ST.length; //从第n个记录开始查找 ST.elem[0].key=k; //k填入ST.elem[0].key while( k!=ST.elem[i].key ) i-- ; //继续扫描 return i; //返回记录的下标i } 3 查找算法性能分析: 对n个记录的表,所需比较关键字的次数 ● 若查找成功: 最少为1,最多为n 假定每个记录的查找概率相等, 即 P1 = P2 = ... = Pn =1/n ASL= = = =(n+1)/2 ● 若查找失败: 使用监视哨elem[0],为 n+1 不使用监视哨elem[0],为 n 假定查找成功和失败的机会相同,对每个记录的查找概率相等, Pi=1/(2*n), 则 1 n n+1 n+1 n+1 ASL=-- ∑ Ci + --- =--- + --- =3(n+1)/4 2n i=1 2 4 2 9.1.2 有序的顺序表的查找与折半查找法 1.有序表 elem[1].key≤elem[2].key≤...≤elem[n].key 2.折半查找(binary search,对半查找,二分查找) 假定 k=10 假定k=40 假定 k=40(续) 假定 k=22(续) if (ST.elem[mid].key==k) { printf(succes
您可能关注的文档
- [理学]大学物理2教学课件-28.ppt
- [理学]大学物理11-9衍射光栅简.ppt
- [理学]大学物理下册答案.pdf
- [理学]大学物理1——第2章质点动力学.ppt
- [理学]大学物理下模拟试题2008整理1.ppt
- [理学]大学物理习题册解答.pdf
- [理学]大学物理复习题热学.ppt
- [理学]大学物理2课件 第十二章 气体动理论1.doc
- [理学]大学物理套题训练.doc
- [理学]大学物理实验上.ppt
- 半导体材料性能提升技术突破与应用案例分析报告.docx
- 半导体设备国产化政策支持下的关键技术突破与应用前景报告.docx
- 剧本杀市场2025年区域扩张策略研究报告.docx
- 剧本杀行业2025人才培训体系构建中的市场需求与供给分析.docx
- 剧本杀行业2025年人才培训行业人才培养模式创新与探索.docx
- 剧本杀行业2025年内容创作人才需求报告.docx
- 剧本杀行业2025年区域市场区域剧本市场消费者满意度与市场竞争力研究报告.docx
- 剧本杀市场2025年区域竞争态势下的区域合作策略分析报告.docx
- 剧本杀行业2025人才培训与行业人才培养模式创新.docx
- 剧本杀行业剧本创作人才心理素质培养报告.docx
最近下载
- T_HNTI 030—2020_茶树种质资源考察收集技术规范.pdf VIP
- 报关原理与实务(第二版)(第5章)1进出口货物报关单填制.ppt VIP
- 2025年滨州市中考英语试题卷(含答案逐题解析).docx
- 基于能力培养的人工智能课程体系设计.docx
- Q/GDW1827-2013三相智能电能表技术规范.pdf VIP
- 国家中医药管理局发布的406种中医优势病种诊疗方案和临床路径目录.pptx VIP
- 华能国际电力股份有限公司本质安全体系管理手册.doc VIP
- 教育行业AI大模型设计方案【231页WORD】.docx VIP
- 2024医保物价培训.pptx VIP
- 屋顶光伏发电建设项目实施方案.docx
文档评论(0)