- 1、本文档共93页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
静态搜索结构动态搜索结构散列可扩充散列
静态搜索结构 动态搜索结构 散列 可扩充散列 查找 搜索 搜索结构 同一数据类型(纪录)的元素 构成的数据集合。 搜索 在数据集合中寻找满足条件的对 象(数据元素)。 关键字 数据元素中某个字段(数据项) 的值。 主关键字 唯一地表示一个纪录 。 次关键字 标识若干纪录 搜索成功 找到满足条件的数据对象 报告该对象在结构中的位置 给出整个纪录的信息 搜索失败 搜索不成功 静态搜索 搜索结构在搜索前后不发生变化 动态搜索 搜索的同时执行插入或删除 结构自行调整 提高效率 先排序,分类,编目,索引 优化结构 一、静态搜索结构 基于数组的数据表类 顺序表——线性表、数组、链表。 (1) 顺序搜索 从头至尾逐个比较 最快O(1) 最慢O(n) 搜索成功的等概率平均时间复杂性 O((n+1)/2) (1+2+3+······+n) /n=(n+1)/2 搜索失败O(n+1) 搜索的等概率平均时间复杂性 O(3(n+1)/4) 搜索成功失败各半 ((1+2+······+n)+n(n+1)) /2n =3(n+1)/4 (2)有序表的搜索 折半搜索 对已排序的搜索结构先确定中点,比较待查关键字与中点关键字的大小,反复直到成功。 求n个数据折半查找的等概率成功搜索的平均时间复杂性 1 2 3 4 5 6 7 8 9 10 S=1+2*2+4*3+8*4+······+2k-1*k = 1+2*2+3*4+4*8+······+k*2k-1 k s =∑j·2j-1 其中 n=2k-1 j=1 满二叉树n个数据的总查找次数: k s =∑j·2j-1 其中 n=2k-1 j=1 S=1+2·2+3·4+4*8+5*16+·····+k·2k-1 = 1+2+4+8+16+···+2k-1+ 2+2·4+3·8+4·16+····+(k-1)·2k-1 = 1+2+4+8+16+···+2k-1+ 2·(1+2·2+3·4+4*8+5*16+·····+(k-1)·2k-2) = 1+2+4+···+2k-1+2·(1+2+4+···+2k-2)+ 22·(1+2+4+···+2k-3)+·····+2k-2·(1+2)+2k-1 =2k-1+2·(2k-1-1)+22·(2k-2-1)+·····+2k-2·(22-1)+ 2k-1(2-1) =k·2k-(1+2+4+···+2k-1)=k·2k-(2k-1)=(k-1)·2k+1 满二叉树n个数据的总查找次数: k s =∑j·2j-1 其中 n=2k-1 j=1 令s=f(k), k=1,2,3,4,······ f(1)=1 f(2)=5 f(3)=17 f(4)=49 f(5)=129 ······· f(k)-1= 0, 22, 24, 3·24,27,······ = 0·21, 1·22, 2·23, 3·24,4·25····· 猜想 f(k)-1=(k-1)·2k k f(k)= s =∑j·2j-1 其中 n=2k-1 j=1
文档评论(0)