网站大量收购独家精品文档,联系QQ:2885784924
  1. 1、本文档共46页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二十讲ppt整理

10.1 排序的基本概念 10.1.2 排序算法的效率分析 10.2 插入排序 10.2.1 直接插入排序 10.2.2 折半插入排序 10.2.3 希尔排序 typedef struct{ SLNode r[SIZE]; //0号单元为表头结点 int length; //链表当前长度; }SLinkListType; //静态链表类型 设数组下标为“0”的分量为表头结点,并令表头结点记录的关键字区最大整数MAXINT。 表插入排序的过程描述如下:首先将静态链表中数组下标为“1”的分量(结点)和表头结点构成一个循环链表,然后依次将下标为“2”至“n”的分量(结点)按记录关键字非递减有序插入到循环链表中 表插入排序的基本操作仍为将一个记录插入到已经排好序的有序表中,和直接插入排序相比,不同之处仅是以修改2n次指针代替移动记录,排序过程中所需进行的关键字之间的比较次数相同。因此,表插入排序的时间复杂度仍为O(n2)。 表插入排序的结果只是求得一个有序表,则只能进行对它顺序查找,不能进行随机查找,为了实现有序表的折半查找,尚需对记录进行重新排列。 希尔排序(shell’s sort)又称缩小增量排序(Diminishing Increment Sort)。它是希尔(D.L.Shell)于1959年提出的插入排序的改进算法。如前所述,直接插入排序算法的时间性能取决于数据的初始特性,一般情况下,它的时间复杂度为O(n2)。但是当待排序列为正序或基本有序时,时间复杂度则为O(n)。因此,若能在一次排序前将排序序列调整为基本有序,则排序的效率就会大大提高。正是基于这样的考虑,希尔提出了改进的插入排序方法。 希尔排序的基本思想是:先将整个待排记录序列分割成若干小组(子序列),分别在组内进行直接插入排序,待整个序列中的记录“基本有序”时,再对全体记录进行一次直接插入排序。希尔排序的具体步骤如下: (1)首先取一个整数d1n,称之为增量,将待排序的记录分成d1个组,凡是距离为d1倍数的记录都放在同一个组,在各组内进行直接插入排序,这样的一次分组和排序过程称为一趟希尔排序。 【例10-3】设有一个待排序的序列有10个记录,它们的关键字分别为58,46,72,95,84,25 ,37,58,63,12 ,用希尔排序法进行排序。 【解】图10-3给出了希尔排序的整个过程,用同一连线上的关键字表示其所属的记录在同一组。为区别具有相同关键字58的不同记录,用下划线标记后一个记录的关键字。 (2)再设置另一个新的增量d2d1,采用与上述相同的方法继续进行分组和排序过程。 (3)继续取di+1di,重复步骤(2),直到增量d=1,即所有记录都放在同一个组中。 * 第二十讲 一、第九章知识回顾 二、排序 19. 在平衡二叉树中插入一个结点后造成了不平衡,设最低的不平衡结点为A,并已知A的左孩子的平衡因子为0右孩子的平衡因子为1,则应作( ) 型调整以使其平衡。 LL B. LR C. RL D. RR 27. 设有一组记录的关键字为{19,14,23,1,68,20,84,27,55,11,10,79},用链地址法构造散列表,散列函数为H(key)=key MOD 13,散列地址为1的链中有( )个记录。 A.1 B. 2 C. 3 D. 4 31. 设哈希表长为14,哈希函数是H(key)=key%11,表中已有数据的关键字为15,38,61,84共四个,现要将关键字为49的结点加到表中,用二次探测再散列法解决冲突,则放入的位置是( ) A.8 B.3 C.5 D.9 32. 假定有k个关键字互为同义词,若用线性探测法把这k个关键字存入散列表中,至少要进行多少次探测?( ) A.k-1次 B. k次 C. k+1次 D. k(k+1)/2次 C D D D 34. 散列函数有一个共同的性质,即函数值应当以( )取其值域的每个值。 最大概率 B. 最小概率 C. 平均概率 D. 同等概率 35. 散列表的地址区间为0-17,散列函数为H(K)=K mod 17。采用线性探测法处理冲突,并将关键字序列26,25,72,38,8,18,59依次存储到散列表中。 ( )元素59存放在散列表中的 A. 8 B. 9 C. 10 D. 11 (2)存放元素59

文档评论(0)

zyzsaa + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档