- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
简单地说,查找就是给定一个值K,在含有n个结点的表中找出关键字等于给定值K的结点。 查找也是计算机中经常遇到的操作。特别是当问题所涉及到的数据量相当大时,查找的效率就显得格外重要。 在研究各种查找算法时,优先必须弄清这些方法所需要的数据结构,特别是存储结构。 和排序类似,查找也有内查找与外查找之分。 查找运算的主要操作是关键字的比较,所以,通常把查找过程中对关键字需要执行的平均比较次数(也称为平均查找长度)作为衡量一个查找算法效率优劣的标准。 算法分析 算法分析 散列函数的构造方法 例如:对C语言的源程序中的标识符建立一张散列表,一般在一个源程序中出现的标识符是有限的,设表长1000足矣。然而,按C 语言规定,标识符是长度不超过8的,以字母打头的字母数字串,因此关键字取值的大小范围是: 这么多可能的标识符要映射到1000个可能的地址上,难免产生冲突。 因此散列法查找必须解决如下两个问题: 选择一个计算简单且冲突尽量少的“均匀的” 散列函数 确定一个解决冲突的方法,即寻求一种方法 存储产生冲突的的同义词 数字选择法 平方取中法 折叠法 除余法 基数转换法 随机数法 数字选择法 若事先知道关键字集合,且关键字的位数比散列表的地址位数多,则可选取数字分布比较均匀的若干位作为散列地址。例如,有一组8位数字组成的关键字: 经过分析可知,前三位和第五位分布不均匀,所以,若表长为1000,则可取4、6、7位的数字作为散列地址,若表长为100,则可取4、7与6、8位之和并舍去进位作为散列地址。 99 04 22 37 03 27 465 723 874 013 228 33987107136 散列地址2 散列地址1 关键字 平方取中法 通常,要预先估计关键字的数字分布并不容易,要找数字均匀分布的位数更难。此时可采用平方取中法:即先通过求关键字的平方来扩大差别,再取其中的几位或其组合作为散列地址。 例如:一组关键字: (0100,0110,1010,1001,0111) 平方结果为: (0010000,0012100,1020100,1002001,0012321) 若表长为3位,则可取中间三位作为散列地址集: (100,121,201,020,123) 折叠法 若关键字位数较多,可将关键字分割成位数相同的几段(最后一段的位数可以不同),段的长度取决于散列表的地址位数,然后将各段的迭加和(舍去进位)作为散列地址。 例如,对于key=58242324169 , 582.423.241.69 582 423 241 + 69 [1]315 H(key)=315 移位迭加 582 324 241 + 96 [1]243 H(key)=243 边界迭加 除余法 选择一个适当的正整数P,用P去除关键字,取所得的余数作为散列地址,即: H(key) = key%P 这个方法的关键是选取适当的P。选择P最好不要是偶数,也不要是基数的幂。一般地选P为小于或等于散列表长度m的某个最大素数比较好。例如: m = 8,16,32,64,128,256,512,1024 P = 7,13,31,61,127,251,503,1019 除余法的地址计算公式简单,而且在很多情况下效果较好,因此是一种常用的构造散列函数的方法。 基数转换法 把关键字看成是另一个进制上的数后,再把它转换成原来进制上的数,取其中若干位作为散列地址。一般取大于原来基数的数作为转换的基数,并且两个基数要互素。例如,给定一个十进制数的关键字是(210485)10,把它看成以13为基数的十三进制数(210485)13 ,再把它转换为十进制。 (210485)13 = 2×135 + 1×134 + 4×132 + 8×13 + 5 = (771932)10 假设散列表长度是10000,则可取低4位1932作为散列地址。 随机数法 选择一个随机函数,取关键字的随机函数值作为它的散列地址。即: H(key) = random(key) 通常,当关键字长度不等
您可能关注的文档
最近下载
- 【浙江卷】浙江省G12名校协作体2025届高三2024学年第一学期返校考试(9.3-9.4) 物理试卷.pdf VIP
- fanuc_series_30i_31i_32i_加工中心系统用户手册.pdf VIP
- TZMA 001-2024 浙江省地质灾害监测点建设规程.pdf VIP
- 学校教学楼施工组织设计.doc VIP
- (人教版2025新教材)七年级英语下册全册单词默写打印(默写版+背诵版).pdf
- 市场营销策划说课.pdf VIP
- GBT33000-2016企业安全生产标准化基本规范.docx VIP
- 圆锥滚子轴承游隙计算与调整.pdf VIP
- 浙江省地质灾害监测点建设规程.docx VIP
- SONY索尼迷你音响组合CMT-DX400A使用说明书.pdf VIP
文档评论(0)