第10章(陈佩佩数据结构课件)概要1.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第10章(陈佩佩数据结构课件)概要1

第10章 索引结构与散列 10.1 静态索引结构 10.4 散列(散列表的检索) 10.2 动态索引结构(外查找--与外存打交道) 10.1 静态索引结构 1. 线性索引 (Linear Index List) 1) 前提: 把n个数据对象分成若干块,块与块之间必须有序,块内可有序/无序。 2) 例子: 3) 方法: 先查索引表(可用顺序,也可用折半),查到属于哪一个段,然后通过obj-addr到该段(通过顺序查找)再查找,或者找到或者找不到。 4) 算法分析:平均查找时间 表长=n,每段长=s,则有b=?n/s? 段 设表中每个对象的搜索概率相等,则每段查找概率为1/b,每个元素为1/s。 平均查找长度不但与n有关,而且与块大小s有关,当n固定后: 如果s=n,即不分段,则与前面的算法一样 如果s=1,即index与n一样大(稠密索引) 现要确定,当s=? ASL最小 ASL?s=1/2(-n/s2+1)=0 ?s2=n, s=?n时 ASL=1/2(n/?n+?n )+1=?n+1=O(?n) 例如有10000个结点,则分100块,每块100个元素 如果索引表采用二分法,则平均查找时间: ASL=log2(b+1)-1+(s+1)/2=log2(n/s+1)+s/2 2.倒排表 (Inverted Index List) 倒排表(倒排文件)是一种次索引的实现(即保持了所有次关键码的链) 例子:职工表 10.4 散列(散列表的检索) 前面所学的静态搜索法中: 顺序搜索为O(n) 有序折半搜索为O(log2n) 索引搜索为O(?n)。 这些方法所以称它为静态,是因为原始的表或索引是不变的。 下面讨论的散列表的检索: 1)进一步提高了搜索速度 O(1) 2)是动态的,搜索不到就插入 1. 概述 1) Hash法(散列法,杂凑法) 对给定的关键码key作各种运算,其结果为放该key的地址。 Address=Hash(key) 有时也称为名-址函数。 散列函数:H(key) 散列表:通过这种方法建立的表就称为Hash表或杂凑表。 2) 例子:在编译程序中建立,查找符号表 如有下列程序段: . . . float x1,x2, x3; int beta,y2; . . . x1=(beta+y2) / (x2-x1)*y2; . . . 字母数字编码: 设符号表(散列表)大小为8(0~7),H(x)为对x的数码求7的模。 x1=884910 H(x1)=8849 % 7=1 x2=885010 H(x2)=8850 % 7=2 x3=885110 H(x3)=8851 % 7=3 beta=6669845610 H(beta)% 7=1 y2=895010 H(y2)=8950 % 7=4 3) 问题: 1) 选择一个计算简单且地址分布比较均匀的散列函数 2) 讨论解决冲突的方法 3) 选择适当的装载因子? 2. 散列函数(经验函数) 1) 取余数法: H(k)=k % M M=基本区长度的最大质数 例如: 基本区长 M 8 7 16 13 2048 2039 反例: (1) 若取10的幂次,2的幂次,则冲突率是比较的 (2) 若取含有质因子的M,如M=21 (3*7),含有

文档评论(0)

676200 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档