- 1、本文档共30页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
chapter08_查找
查找的基本概念 查找的基本概念 基于线性表的查找法 顺序查找法 顺序查找法 顺序查找法 基于线性表的查找法 二分查找法 二分查找法 二分查找法 基于树的查找法 二叉排序树的类型定义 二叉排序树的查找 例:已知二叉排序树如下,查找是否存在关键字为28的结点。 二叉排序树的插入 例:已知一组序列为{45,24,53,12,28,90},请将其依次插入到二叉排序树中。 二叉排序树的删除 二叉排序树的删除 二叉排序树的删除 二叉排序树的删除 二叉排序树的删除 计算式查找法——哈希法 哈希函数的构造方法 处理冲突的方法 例:已知一组关键字序列(19,14,23,01,68,20,84,27,55,11,10,79),按哈希函数H(key)=key%13和线性探测处理冲突构造哈希表ht[0..15],请画出构造好的哈希表。 处理冲突的方法 例:已知一组关键字序列(19,14,23,01,68,20,84,27,55,11,10,79),按哈希函数H(key)=key%13和链地址法处理冲突构造哈希表ht[0..12],请画出构造好的哈希表。 哈希表的查找过程 哈希法性能分析 查找 8.1 查找的基本概念 8.2 基于线性表的查找法 8.3 基于树的查找法 8.4 计算式查找法——哈希法 8.5 总结与提高 习题 实习题 列表:由同一类型的数据元素(或记录)构成的集合,可利用任意数据结构实现。 关键字:数据元素的某个数据项的值,用它可以标识列表中的一个或一组数据元素。 如果一个关键字可以唯一标识列表中的某一个数据元素,则称其为主关键字,否则为次关键字。 查找:根据给定的关键字值,在特定的列表中确定一个其关键字与给定值相同的数据元素,并返回该数据元素在列表中的位置。 (1) 静态查找:在查找过程中只对数据元素进行查找。 (2) 动态查找:在查找的同时,插入找不到的元素,或从查找表中删除已查到的某个元素,即允许表中元素变化。 平均查找长度:未确定数据元素在列表中的位置,需和给定值进行比较的关键字个数的期望值,称为查找算法在查找成功时的平均查找长度。 对于长度为n的列表,查找成功时的平均查找长度为: 其中:Pi为查找列表中第i个数据元素的概率,Ci为找到列表中第i个数据元素时,已经进行过的关键字比较次数。 所以,等概率情况下: 特点:用所给关键字与线性表中各元素的关键字逐个比较,直到成功或失败。 顺序查找法 存储结构:通常为顺序结构,也可为链式结构。 顺序结构数据类型的定义 #define SIZE 20 typedef struct element{ KeyType key; OtherType other_data; }RecordType; typedef struct list{ RecordType r[SIZE+1]; int len; }RecordList; 算法思想 (1) 在表的一端设置一个称为“监视哨”的附加单元,存放要查找元素的关键字。 (2) 从表的另一端开始查找,如果在“监视哨”找到要查找元素的关键字,返回相应下标,否则返回失败信息。 学号 姓名 专业 班级 入学成绩 家庭住址 key other_data 21 88 05 19 92 37 56 13 80 64 0 10 9 8 7 6 5 4 3 2 1 key int SeqSearch(RocordType list, KeyType key){ list.r[0]=key; i=list.len; while(list.r[i]!=key) i--; return i; } i i i 算法分析 (1) 查找第n个数据元素,需要比较1次; (2) 查找第n-1个数据元素,需要比较2次; (3) 依此类推,查找第i个数据元素,需要比较n-i+1次,即Ci=n-i+1。 折半查找法又称为二分查找法,这种方法对待查找的列表有两个要求 折半查找法 存储结构:必须为顺序结构且有序 顺序结构数据类型的定义 #define SIZE 20 Typedef struct element{ KeyType key; OtherType other_data; }RecordType; typedef struct list{ RecordType r[SIZE+1]; int len; }RecordList; len-1 0 9 97 91 88 82 79 56 37 27 13 12 low high (1) 设置两个位置指示器low和high分别指向当前查找范围的两个端点 (2) 计算mid的位置,mid=(low+high)/2 (3) 比较查找关
您可能关注的文档
- Chap10《基于32位ColdFire构建嵌入式系统》课件.ppt
- chap15_时序逻辑电路.ppt
- chap06机械波-01.ppt
- chap4中小企业法律制度.ppt
- chap10电磁感应2012.ppt
- chap5 MCS-51的中断系统.ppt
- chap5-5 能量管理系统.ppt
- chap5-机件表达方法.ppt
- chap5 弯曲内力.ppt
- chap7简单工厂模式.ppt
- 供应链协同优化2025年制造业数字化管理效率提升策略报告.docx
- 中小企业融资困境中的金融科技助力报告2025.docx
- 2025年企业级软件敏捷开发模式中的沟通与协作工具应用.docx
- 2025年健身仓用户健身效果反馈报告:习惯养成路径优化.docx
- 体检行业2025年市场深度调研:竞争态势与服务质量优化方案报告.docx
- 2025年农村生活污水市场化环保产业市场供需分析与预测.docx
- 直播电商虚拟主播技术应用与用户体验优化策略研究.docx
- 元宇宙虚拟商品消费者消费观念与行为分析报告.docx
- 直播电商私域流量运营转化策略与数据分析报告.docx
- 2025年跨境电商供应链韧性分析与供应链金融风险管理建议书.docx
最近下载
- 基于大模型的生成式检索.pdf VIP
- 西门子伺服操作说明书-SINAMICS_V90_OPI.pdf VIP
- 电力工程施工安全与质量控制管理.docx VIP
- Packing List-装箱单表格模板.xls VIP
- 电力工程施工安全及质量控制管理.doc VIP
- 2025年最新版硫化氢考试题库大全集.doc VIP
- [江西]发电厂2×600mw级机组“上大压小”土建工程施工组织设计.doc VIP
- 《护患沟通技巧》ppt课件.pptx VIP
- 县乡教师选调进城考试《教育心理学》题库及答案(各地真题).docx VIP
- 发电厂“上大压小”2×600MW超临界空冷机组工程土建专业主要施工方案.docx VIP
文档评论(0)