- 69
- 0
- 约1.36万字
- 约 71页
- 2018-06-05 发布于天津
- 举报
哈希函数hash
数据结构第九章 查找 9.1 查找的基本概念 查找表(Search Table) 查找表是由同一类型的数据元素(或记录)构成的集合。对查找表的操作主要有: 查询某个“特定的”数据元素是否在查找表中; 检索某个“特定的”数据元素的各种属性; 在查找表中插入一个数据元素; 从查找表中删去某个数据元素。 查找表分类 静态查找表 仅作查询和检索操作的查找表。 动态查找表 在查找过程中同时插入查找表中不存在的数据元素,或者从查找表中删除已存在的某个数据元素 9.1 查找的基本概念 关键字(Key) 关键字是数据元素(或记录)中某个数据项的值,用以标识(识别)一个数据元素(或记录)。 主关键字:可以识别唯一的一个记录的关键字 次关键字:能识别若干记录的关键字 查找(Searching) 是根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素(或记录)。 9.1 查找的基本概念 衡量查找算法的标准 时间复杂度; 空间复杂度; 平均查找长度ASL:定义为确定记录在表中的位置所进行的和关键字比较的次数的平均值 n ASL = ∑ PiCi i=1 n为查找表的长度,即表中所含元素的个数 Pi为查找第i个元素的概率(∑Pi=1) Ci是查找第i个元素时同给定值K比较的次数 9.2 静态查找表 9.2.1 顺序表的查找 顺序查找算法是顺序表(既无序表)的查找方法。在顺序查找算法中,以顺序表或线性链表表示静态查找表。 面临的问题 下标越界的检查,需要相当的时间和空间代价。解决的办法是,将ST.elem[0].key 置为key,所有元素检查完还没有找到时,在ST.elem[0]处一定找到。从而免去了检查下标越界的时间。 顺序查找算法 从表中最后一个记录开始 逐个进行记录的关键字和给定值的比较 若某个记录比较相等,则查找成功 若直到第1个记录都比较不等,则查找不成功 9.2 静态查找表 顺序查找算法描述 设置“哨兵”的目的是省略对下标越界的检查,提高算法执行速度。当然,哨兵也可以设置在高下标处。 9.2 静态查找表 顺序查找示举例 在下列顺序表中寻找62,如果找到,给出其所在位置的下标。 9.2 静态查找表 顺序查找性能分析 对顺序表而言,Ci=n-i+1 在等概率查找的情况下,Pi=1/n 平均查找长度 ASLss=n*P1 +(n-1)P2 +…+ 2Pn-1+ Pn = (n+1)/2 如果被查找的记录概率不等时, ASLss在 Pn≥Pn-1 ≥…≥P2≥P1 时取极小值 若查找概率无法事先测定,则查找过程采取的改进办法是,在每次查找之后,将刚刚查找到的记录直接移至表尾的位置上。 顺序查找特点 优点: 1.简单 2.适应面广(对表的结构无任何要求) 缺点: 1.平均查找长度较大 2.特别是当n很大时,查找效率很低 9.2 静态查找表 9.2.2 折半查找 折半查找算法是有序表的查找方法。在折半查找算法中,静态查找表按关键字大小的次序,有序地存放在顺序表中。 折半查找的原理 先确定待查记录所在的范围(前部分或后部分) 逐步缩小(一半)范围直到找(不)到该记录为止 9.2 静态查找表 折半查找算法 n个对象从小到大存放在有序顺序表ST中,k为给定值 设low、high指向待查元素所在区间的下界、上界,即low=1, high=n 设mid指向待查区间的中点,即 mid=(low+high)/2? 让k与mid指向的记录比较 若 k=ST[mid].key,查找成功 若 kST[mid].key,则high=mid-1 [上半区间] 若 kST[mid].key,则low=mid+1 [下半区间] 重复3,4操作,直至lowhigh时,查找失败。 9.2 静态查找表 折半成功查找举例:在下列有序表中用折半查找法查找62所在位置。Key = 62 9.2 静态查找表 折半查找失败举例:在上例有序表中找61。 9.2 静态查找表 折半查找的性能分析 折半查找过程可以用二叉树(也叫判定树)来描述: 判定树上每个结点需要的查找次数刚好为该结点所在的层数; 查找成功时查找次数不会超过判定树的深度 n个结点的判定树的深度为 ? log2n ? +1 比较次数最多不超过 ? log2n ? +1 折半查找的算法复杂度为 ? log2n ? +1 9.2 静态查找表 折半查找特点 折半查找的效率比顺序查找高,特别是查找表的长度很长时; 折半查找只能适用于等概率有序表,并且以顺序存储结构存储。 9.2 静态查找表 9.2.3 分块查找 分块查找是一种索引顺序表(分块有序表)查找方法,是折半查找和顺序查找的简单结合; 索引顺序表(分块有序表)将整个表
您可能关注的文档
- 南宁不动产权籍调查实施细则试行1目录1适用范围2规范.doc
- 南方喀斯特贵州.ppt
- 博士研究员.doc
- 危机公关您未知的潜在风险.ppt
- 原液的话真心不是很需要.doc
- 厦门大学税务专业硕士研究生统一入学考试税收学考试大纲.doc
- 厦门建发集团有限公司企业债券募集说明书摘要.doc
- 厦门科学技术奖励申报要求.ppt
- 双元制职业教育体系.ppt
- 友座臻玺A1户.ppt
- 抚顺石化工贸中心资金控制体系优化研究:理论、实践与创新.docx
- 探秘中华通草蛉滞育发育:生殖生物学特征与调控机制.docx
- 稀有鮈鲫受精机制及影响因素的深度剖析.docx
- 从美国强制反诉制度探寻我国民事诉讼反诉制度的革新路径.docx
- 中国职业足球管理体制:演进、困境与突破路径探究.docx
- 论我国网上个体经营活动法律规制的完善与实践.docx
- 论取保候审期间脱逃后又归案的自首认定困境与出路.docx
- 动调陀螺赋能双轴稳定平台控制系统的关键技术与优化策略研究.docx
- 论我国犯罪被害人国家补偿制度的构建与完善:法理、实践与发展路径.docx
- 光纤光栅传感监控软件:原理、应用与创新发展研究.docx
最近下载
- 实验室内电气安全培训课件.pptx VIP
- 护理伦理与法规课程标准.doc VIP
- 远信工业股份有限公司年产200台热风拉幅定形机建设项目 环评报告表.pdf VIP
- 2025年下半年中小学教师资格考试语文学科知识与教学能力真题(初级中学)附参考答案.docx VIP
- 质量管理体系检查登记表.docx VIP
- 安徽镜湖总部经济园建设项目可行性设计方案.doc VIP
- 2026年春教科版(新教材)小学科学二年级下册(全册)教学设计(附目录P91).pdf
- 给排水工程施工课件.pptx VIP
- 实验室安全用电培训课件.ppt VIP
- 综合应用能力事业单位考试(医疗卫生类E类)试题与参考答案(2025年).docx VIP
原创力文档

文档评论(0)