- 22
- 0
- 约9.37千字
- 约 33页
- 2018-06-19 发布于福建
- 举报
3.6 查找 3.6.1 查找的基本概念 3.6.2 线性查找 3.6.3 对分查找 3.6.4 分块查找 3.6.5 哈希表技术及其查找 如何评估查找方法的优劣? 查找的过程就是将给定的K值与文件中各记录的关键字项进行比较的过程。所以用比较次数的平均值来评估算法的优劣。称为平均查找长度(ASL:average search length)。 折半查找举例: 讨论① 若关键字不在表中,怎样得知和停止? 平均每个数据的查找时间还要除以n,所以: (1)线性探测再散列 设哈希表空间为T[0:m-1],哈希函数为H(key),线性探测再散列求另一地址的公式为: 其中d1=H(key)。 线性探测再散列把哈希表作为一个环状空间,当冲突发生时,以线性方式从下一个哈希地址开始探测,直到找到一个空的存储地址,将数据存入。若找完一个循环还没有找到空间,说明地址已满。 (3)随机探测再散列 用一组预先给定的的随机数来求发生冲突时的另一个地址,公式为: dj = ( d1 + Rj ) mod m (j=1,2,…,s, s=1) 其中, Rj为一组随机数列。 平方探测和随机探测方法例题见P.88 5.哈希查找 利用哈希表进行查找的过程是由给定的关键字k经哈希函 数得到被查元素在哈希表中的地址。在理想情况下,查找到 此结束。但由于有可能存在冲突情况,因此对按哈希函数求 得的地址中存放的是否是要求的元素也必须进行关键字的比 较,若不相同则按解决冲突方法寻找新地址,这样,不论查 找成功与否.哈希查找必须进行1次甚至多次比较。可以看 出,哈希查找过程与哈希表的生成过程是一致的。 尽管哈希查找由于要处理冲突问题仍须进行关键字 的比较,使它的实际ASL不能等于零。但相比起来, 它比线性查找、对分查找等方法的ASL要小。同时采 用不同的解决冲突方法以及不同的装填系数,得到的 ASL也不相同。 可见,哈希表的平均查找长度是 ? 的函数,而不是 n 的函数。用哈希表构造查找表时,可以选择一个适当的装填因子 ? ,使得平均查找长度限定在某个范围内。 这是哈希表所特有的特点。 * * 3.6.1 查找的基本概念 在数据处理中,被查找的元素通常是以记录的形式出现的,即每个数据元素(记录)由若干个数据项组。 其中能用来唯一标识该记录的数据项称为主关键字,另 外用来识别若干记录的数据项称为次关键字。 比如“学号” 例如“女” 定义:给定一个值K,在含有n个记录的文件中进行搜索,寻找一个关键字值等于K的记录,若找到则输出该记录,否则输出查找不成功的信息。 其中: n是文件记录个数; Pi是查找第i个记录的查找概率(通常取等概率,即Pi =1/n); Ci是找到第i个记录时所经历的比较次数。 显然,ASL值越小,时间效率越高。 3.6.2 线性查找 1.线性查找的基本思想 线性查找又称顺序查找,是一种最简单的查找方法,它的基本思想是:从第一个记录开始,逐个比较记录的关键字,直到和给定的值K相等,则查找成功,若比较结果与n个记录的关键字都不相等,则查找失败。 顺序查找既适用于顺序表,也适用于链表。顺序查找的表中元素可以是无序的。 技巧:把待查关键字key存入表头或表尾(俗称“哨兵”),这样可以加快执行速度。 SEQSEARCH (r,n,K) //在表r中查找关键字值为K的元素// {r[0].key - k; i - n; //从表尾开始向前扫描// while(r[i].key!=k ) do i - i-1; return i;} 2.线性查找的算法 动画演示 3.线性查找性能分析 假设在每个位置查找的概率相等,即有pi=1/n,若查找是从后往前扫描,则有每个位置的查找比较次数Cn=1, Cn-1=2,…,C1=n,于是,查找成功的平均查找长度 ASL= = = , 即它 的时间复杂度为O(n)。 查找成功的平均比较次数约为表长的一半。若k值不在表中,则必须进行n+1次比较之后才能确定查找失败。另外,从ASL可知,当n较大时,ASL值较大,查找的效率较低。 例1:在关键字序列为{3,9,1,5,8,10,6,7,2,4}的线性表中查找关键字为5的元素。 线性查找过程如下: 3 9 1 5 8 10 6 7 2 4 开始: 第一次比较: i =1 3 9 1 5 8 10 6 7 2
您可能关注的文档
- 第3课时--让家更美好.ppt
- 第3课-土地改革-课件.ppt
- 第3课《盛唐气象》课件-.ppt
- 第3课-王安石变法历史作用.ppt
- 第3课土地改革知识梳理课件.ppt
- 第3课-忠实巡逻兵.ppt
- 第4节:光折射--初二物理.ppt
- 第3课-走遍天下书为侣-第二课时.ppt
- 第4节-离子晶体-上课用.ppt
- 第4章--CSS基础.ppt
- 广东省广州省实验中学教育集团2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州大学附属中学2025-2026学年八年级上学期奥班期中物理试题(解析版).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(含答案).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(解析版).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 2026《中国人寿上海分公司营销员培训体系优化研究》18000字.docx
- 《生物探究性实验教学》中小学教师资格模拟试题.docx
最近下载
- 玉石之分——古代玉石艺术.ppt VIP
- 冷库、保鲜库设备采购投标方案 第七章 冷库、保鲜库设备安装、调试及培训方案.docx VIP
- 国土空间规划学-全套PPT课件.pptx
- 《纤维艺术设计与制作》教学课件—01纤维艺术概述.ppt VIP
- 山东铝业考试题库及答案.doc VIP
- 部编版小学语文五年级下册教材分析与教学建议(课件).pptx VIP
- 电力系统规划:配电系统规划_(7).配电系统优化设计.docx
- 山东铝业考试题库及答案2025.docx VIP
- 黑龙江省齐齐哈尔市2025届高考一模地理试卷(含答案).pdf VIP
- 宁夏回族自治区吴忠市同心县2021-2022学年八年级下学期期末考试数学试卷(word版含答案).docx VIP
原创力文档

文档评论(0)