- 1、本文档共58页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构第22讲哈希表与插入排序1
例:设有一组关键字{ 19, 01, 23, 14, 55, 20, 84, 27, 68, 11, 10, 77 },采用哈希函数为: H(k)=k mod 13。采用开放地址的线性探测法解决冲突,试在0~18的散列地址空间中,对该关键字序列构造哈希表。 3)折半插入排序性能分析 3. 2-路插入排序 1)基本思想 2-路插入排序是在折半插入排序的基础上改进的,目的是减少排序过程中移动记录的次数,但为此需要n个记录的辅助空间。 2)具体做法 另设一个和 L.r 同类型的数组d,首先将 L.r[1] 赋值给 d[1] ,并将 d[1] 看成是在排好序的序列中处于中间位置的记录,然后从 L.r 中第 2 个记录起依次插入到d[1] 之前或之后的有序序列中。先将待插入记录的关键字和 d[1] 的关键字进行比较。 若 L.r[i]d[1].key,则将 L.r[i] 插入到 d[1] 之前的有序表中。反之,插入到 d[1] 之后的有序表中。 【初始关键字】 49 38 65 97 76 13 27 49 排序过程中d 的状态如下: i=1: (49) i=2: (49) (38) i=3: (49 65) (38) i=4: (49 65 97) (38) i=5: (49 65 76 97) (38) i=6: (49 65 76 97) (13 38) i=7: (49 65 76 97) (13 27 38) i=8: (49 49 65 76 97) (13 27 38) 3) 2-路插入排序性能分析 二分查找的判定树(中序序列为从小到大排列的有序序列) 由图可得:二分查找的成功平均查找长度为 ASL=(1+2*2+3*4+4)/8=2.625 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 二叉排序树(关键字顺序已确定,该二叉排序树应唯一)如图(a)所示,平衡二叉树(关键字顺序已确定,该平衡二叉树也应该是唯一的),如图(b)所示。 由图(a)可得:二叉排序树查找的成功平均查找长度为 ASL=(1+2*2+3*2+4+5*2)/9=3.125 由图(b)可得:平衡二叉树的成功平均查找长度为 ASL=(1+2*2+3*3+4*2)/8=2.75 11 10 1 3 2 4 78 21 3 1 11 2 10 4 78 21 (a) 二叉排序树 (b) 平衡二叉树 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 线性探查法解决冲突的哈希表如图所示。 由图可得:线性探查法的成功平均查找长度为 ASL=(1+1+2+1+3+2+8+1)/8=2.375 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 链地址法解决冲突的哈希表如图所示。 由图可得:链地址法的成功平均查找长度为 ASL=(1*6+2*2)/8=1.25 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 小结 1. 掌握查找的基本概念; 2. 熟练掌握静态查找表的查找算法思想并灵活应用; 3. 熟练掌握动态查找表的特点以及二叉排序树、平衡二叉树的各种操作思想 4. 了解B-、B+树的概念及插入和删除操作; 5. 熟练掌握
文档评论(0)