




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精品文档全国计算机二级考试第一章 数据结构与算法1. 一个算法一般都可以用 、 、 三种控制结构组合完成。解析 顺序、选择(分支) 、循环(重复)一个算法通常由两种基本要素组成:一是对数据对象的运算和操作,二是 。解析 算法的控制结构在一般的计算机系统中,有算术运算、逻辑运算、关系运算和 四类基本的操作和运算。 解析 数据传输2. 常用于解决“是否存在”或“有多少种可能”等类型的问题(例如求解不定方程的问题) 的算法涉及基本方法是()A. 列举法B.归纳法C递归法D.减半递推法解析 列举就是列举出所有可能性,将所有可能性统统列举出来,然后解决问题的方法。所 以A3. 根据提出的问题,列举所有可
2、能的情况,并用问题中给定的条件检验哪些是需要的,哪些 是不需要的,这是算法设计基本方法中的 。解析 列举法4. 通过列举少量的特殊情况,经过分析,最后找出一般的关系的算法设计思想是()A. 列举法B.归纳法C递归法D.减半递推法解析 B5. 在用二分法求解方程在一个闭区间的实根时,采用的算法设计技术是()A. 列举法B.归纳法C递归法D.减半递推法解析 二分法就是从一半处比较,减半递推技术也称分治法,将问题减半。所以D6. 将一个复杂的问题归结为若干个简单的问题,然后将这些较简单的问题再归结为更简单的问题, 这个过程可以一直做下去, 直到最简单的问题为止, 这是算法设计基本方法中的 _。 如果
3、一个算法P显式地调用自己则称为 。如果算法P调用另一个算法 Q,而算法Q又调 用算法P,则称为.解析 递归法直接递归 间接递归调用7. 算法中各操作之间的执行顺序称为 。描述算法的工具通常有 、 、 。解析控制结构传统流程图、N-S结构化流程图、算法描述语言8. 从已知的初始条件出发,逐步推出所要求的各中间结果和最后结果, 这是算法设计基本方法中的 ()解析 递推法9. 将问题的规模减半,而问题的性质不变,再重复“减半”的过程,这是算法设计基本方法 中的()解析 减半递推技术10. 通过对问题的分析,找出一个解决问题的线索,然后沿着这个线索逐步试探,对于每一 步的试探,若试探成功,就得到问题的
4、解,若试探失败,就逐步回退,换别的路线再试探, 这是算法设计基本方法中的解析 回溯法1. 下列叙述中正确的是A. 顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的B. 顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C. 顺序存储结构能存储有序表,链式存储结构不能存储有序表D. 链式存储结构比顺序存储结构节省存储空间解析 顺序存储结构中各数据元素在存储空间中是按照逻辑顺序依次连续存放的,在链式存 储结构中元素之间的关系通过指针来连接, 所以不要求存储空间一定是连续的; 顺序存储结 构(或链式存储结构)既可以针对线性结构,也可以针对非线性结构,但像栈、队列这样的 线性
5、结构一般采用顺序存储结构(但也可以采取链式结构) ;树、二叉树这样的非线性结构 一般采用链式存储结构(但也可以采用顺序存储结构) ;链式存储结构既可以存储无序表, 也可以存储有序表,注意,链式存储结构存储的即使是有序表,也不能进行二分查找;链式 存储结构比顺序存储结构要多使用存储空间,由于链式存储结构中要用额外空间来保存指 针。所以 A顺序存储方式主要用于线性的数据结构, 它把逻辑上相邻的数据元素存储在物理上相邻的存储单元里, 结点之间的关系由存储单元的邻接关系来体现。 而链式存储结构的存储空间 不一定是连续的。2. 数据的存储结构是指()A. 存储在外存中的数据B.数据所占的存储空间量C.
6、数据在计算机中的顺序存储方式D.数据的逻辑结构在计算机中的表现解析 数据的逻辑结构是指数据元素之间的逻辑关系的数据结构。数据的存储结构则是数据 的逻辑结构在计算机中的物理实现, 有时也称作数据的物理结构。 两者的区别是数据的逻辑 结构只涉及到数据之间抽象的数学关系, 存储结构则涉及到如何在计算机中通过对数据的物 理存储进行组织来表达数据元素之间的逻辑关系。 比如在线性表的顺序存储中是利用物理存 储空间上的连续性来表达线性表中数据的前后件关系; 在线性表的链式存储中是通过指针域 构成的逻辑链条来表达数据的前后件关系。一般的,一种数据的逻辑机构对应的物理实现, 即数据的存储结构不止一种。所以 D3
7、. 在长度为n的顺序存储结构的线性表中, 要在第i ( K i < n)个元素之前插入一个新元素, 则需要移动表中的()个元素,表的长度变为();若删除表中的第i (1 < iw n)个元素, 则需要移动表中的()个元素,表的长度变为() 。解析 n-i+1 ; n+1; n-i ; n-14. 一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、CD、E依次入栈,然后再依次出栈,则元素出栈的顺序是()A. 12345ABCDE B.EDCBA54321C.ABCDE12345 D.54321EDCBA解析栈是按照“先进后出(FILO)”或“后进先出(LIFO)”的原则组织数
8、据的,栈职能在 栈顶插入数据(称为入栈)和删除数据(称为出栈) 。现将元素 1、 2、 3、 4、 5、 A、 B、 C、D、 E依次入栈,然后再依次出栈,则元素的出栈顺序是EDCBA54321。所以B5. 下列关于栈的描述中错误的是()A.栈是先进后出的线性表B.栈职能顺序存储C.栈具有记忆作用D.对栈的插入与删除操作中,不需要改变栈底指针解析 栈是一种先进后出的线性表;栈既可以顺序存储,也可以链式存储;栈可以用开保护 断点信息,具有记忆作用;只允许在栈顶插入和删除元素,所以对栈的插入与删除操作,不 要用改变栈底指针1. 线性表的存储结构主要分为顺序存储结构和链式存储结构。队列是一种特殊是线
9、性表,循环队列是队列的 存储结构。解析 顺序2. 数据结构分为线性结构和非线性结构,带链的队列属于 解析 线性总结:常用的数据结构比如:线性表、栈、队列是线性结构(不管是采用顺序存储还是链式存储结构) ;树、二叉树、图都是非线性结构(不管是采用顺序存储结构 还是链式存储结构)3. 已知元素的入栈顺序为abcde,则下列哪种出栈顺序是不可能的?()A. edcba B.cabde C.dcbae D.bcdea解析abcde依次入栈,再再次出栈,得到出栈顺序edcba,所以选项A可能;选项B,第一个出栈的是C,可以肯定栈中有 b、a,等待入栈的是d、e,此时出栈的可能是 b或d( d入 栈马上出
10、栈),不可能是a,所以选项B不可能;选项C,第一个出栈的是d,可以肯定栈中 有c、b、a,等待入栈的是e,此时出栈的可能是c或e,若c、b、a依次出栈,e入栈马上出栈,刚好得到出栈顺序dcbae,因此选项C可能;选项D,第一个出栈的是 b,可以肯定栈中有a,等待入栈的是 c、d、e,c、d、e分别入栈又出栈得到出栈顺序bcde,最后a出栈,行号得到出栈顺序bcdea,所以选项D可能。因此本题正确答案是B。4. 假如刚开始时栈为空,依次有 A、 B、 C、 D 四个元素入栈,此时栈底指针指向元素_,栈顶指针值为 _(假如每个元素的长度为 1)。执行四次出栈操作后把 E、 F、 G 压入栈,问 此
11、时栈底指针指向元素 _,此时栈的长度为 _.解析 A;4;E;35. 下列叙述中正确的是A. 循环队列有对头和队尾两个指针,因此,循环队列是非线性结构B. 在循环队列中,只需要对头指针就能反应队列中元素的动态变化情况C. 在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D. 循环队列中元素的个数是由对头指针和队尾指针共同决定解析 所谓循环队列,就是将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的 环状空间,供队列循环使用。在循环队列中,用队尾指针rear 指向队列中的队尾元素,用排头指针 front 指向排头元素的前一个位置, 因此, 从排头指针 front 指向的后一个位
12、置直到 队尾指针 real 指向的位置之间所有的元素均为队列中的元素。求解队列中元素个数的方法是:若front > rear,队列中有n-front+rear个元素(其中n为循环队列的容量);若front v rear,队列中有real-front个元素;若front=rear,队列中有n个或0个元素。循环队列是线性结构。 所以 D6.在一个容量为15的循环队列中,若头指针front=6,尾指针rear=4,则该循环队列中共有个元素;若front=4, rear=6,则该循环队列中有 个元素;若front=6, rear=6,则该循环队列中共有 个元素。解析 本题主要考查对循环队列的存储
13、形式和入队运算、出队运算的理解。求解队列中元素个数的方法是:1. 若front > rear,队列中有n-front+rear个元素(其中n为循环队列的容量);2. 若front v rear,队列中有real-front个元素;3. 若front=rear,队列中有n个或0个元素。循环队列是线性结构。 所以 13; 2; 0或151. 下列对于线性链表的描述中正确的是()A. 存储空间不一定是连续,且各元素的存储顺序是任意的B. 存储空间不一定是连续,且前件元素一定存储在后件元素的前面C. 存储空间必须连续,且前件元素一定存储在后件元素的前面D. 存储空间必须连续,且各元素的存储顺序是
14、任意的解析 线性链表是通过增加一个指针域来把相邻的数据元素链接成一个线性序列。线性链表 的这种结构使得它存储数据的空间可以是离散的, 并不像顺序表那样一定要求物理上的连续 空间。所以 A2. 在线性链表的插入算法中,若要把结点q 插在结点 p 后面,下列操作正确的是()A. 使结点p指向结点q,再使结点q指向结点p的后件结点B. 使结点q指向p的后件结点,再使结点p指向结点qC. 使结点q指向结点P,再使结点P指向结点q的后件结点D. 使结点p指向q的后件结点,再使结点q指向结点p解析在修改结点指针域的操作中,有一个操作顺序的问题。比较选项A和B只是操作顺序颠倒了一下。A中先使结点p指向q后,
15、q就称为p新的后件结点了,原先通过结点p指向的后件结点与结点 p脱节了那么后面的一步操作没有任何意义的。使结点q指向p的后件结点即使结点 q 成为自己的后件结点。按照 B 指定的顺序操作就不会出现引用结点 p 的指针 域之前已经把它的值修改了的情形。至于C和D是命题者设计的干扰项想让考生把p和d的顺序搞混。总结,做这种类型的试题,最好画图。插入结点:若结点p的后面是结点s,要在p和s之间插入结点q, 一般先将结点q指向结点s,再讲结点p指向q,顺序不能颠倒。删除结点:若结点p的后面是结点q,结点q的后面是结点s,若要删除结点q,只需将结点p 指向 s 即可。3. 在长度为 64 的有序线性表中
16、进行顺序查找,最坏情况下需要比较的次数为()A. 63B.64C.6D.7解析只要是顺序查找(不管线性表是有序还是无序) ,都是从表头到表尾逐个比较,若相 同则结束查找,否则一直继续比较下一个表中元素,指导整个表都遍历完。对于长度为64的线性表, 平均要进行 64/2=321 次比较, 在最坏的情况下要进行 64 次比较。 若采用二分(折 半)查找,则最坏情况下需要比较的次数为log264=6 次,弹药注意采用二分(折半)查找的条件, 必须是线性表采用顺序存储结构, 而且线性表中的元素要有序, 这两个条件缺一不 可。若对线性链表进行查找,则不管线性链表中的元素是有序还是无序职能采用顺序查找。因
17、此本题 B.4. 在一个nx m的二维线性表中顺序查找一个数据元素的算法时间复杂度是()A.O(n+m)B.O(nX m)C.0(n2)C.O (m2)解析在一维线性表中顺序查找一个数据元素的算法时间复杂度是0 (n),其中n是线性表的长度, 二维线性表的顺序查找方法和一维线性表相似, 只不过是多了一维罢了。 在二维表 中进行顺序查找有两个方法:一是把二维线性表看成是n 个长度为 m 的一维线性表,顺序查找就是对这 n 个一维线性表依次实施顺序查找,因此它的算法时间复杂度是0( n)x 0 (m) = 0(nx m);二是直接把nx m的二维线性看成一个 nx m的一维线性表,那么在 它当中用
18、顺序查找法查找一个元素的算法时间复杂度是 0(nx m)。5. 下列叙述中正确的是()A.线性链表是线性的链式存储结构B.栈与队列是非线性结构C.双向链表是非线性结构D.只有根结点的二叉树是线性结构解析 线性表的链式存储结构称为线性链表;栈、队列、双向链表都是线性结构;树、二叉 树(不管它有多少个结点)都是非线性结构。所以A6. 下列关于链表结构的叙述正确的是()A. 线性链表、带链的栈和带链的队列的结点的结构都是相同的B. 双向链表也就是循环链表C. 线性链表与带链的结点的结构是不同的D. 在循环链表中通过任意一个结点可以找到链表中其他所有的结点,而在双向链表中做 不到这一点解析 A、C 线
19、性链表、带链的栈和带链的队列:结点(表示数据元素)=数据域(数据元素的映像)+ 指针域(指示后继元素存储位置)。B、D双向链表:也叫双链表,是链表的一种, 它的每个数据结点中都有两个指针,分表指向直接后继和直接前驱。循环链表:循环链表是另一种形式的链式存储结构, 它的特点是表中最后一个结点的指针域指向头结点,整个链表形成一个环。1. 一棵度数为 4的树,它的 4 度结点有 1个, 3 度结点有 2个, 2度结点有 3个, 1度结点 4 个,问它的叶子结点有多少个?A 5B.6 C.9 D.11解析 如果注意观察树的结构,你会发现树中的结点数总是比树中的分支数多,其实也可以 这么理解: 如果在根
20、结点前面加一条分支线, 那么分支数和结点数就一样多了。 在树的结点 里,n度结点可以射出条分支,叶子结点是0度结点,因此它射出的分支数为0。此题中指导了 1到4度结点的个数,就可以计算出树的总分支数:4X 1+3 X 2+2X 3+1 X 4=20.因此树的总结点数是 21,减去其他读书的结点数10就得到 0度结点(叶子结点)的个数 11 了。所以 D2. 在深度为 7 的满二叉树中,叶子结点的个数为()A 32B.31 C.64 D.63解析 在满二叉树中每层的结点数都达到最大值,而且叶子结点全部出现在最底层。第1 层(根结点所在的层)有 20个结点,第2层有21个结点,第n层有2n-1个结
21、点。在深度 为 7 的满二叉树中, 第 7层有 27-1=64 个结点(全部是叶子结点) ,在深度为 7 的满二叉树中, 共有 27-1=64个结点,本题为 C3. 某二叉树有 5 个度为 2 的结点,则该项树中的叶子结点数是()A 10B.8 C.6 D.4解析根据二叉树的性质,在任意二叉树中,度为0的结点(即叶子结点)数总是比度为 2的结点数多一个。所以 C4. 某二叉树中有n个度为2的结点,则该二叉树中的叶子结点为()An+1B.n-1C.2nD.n/2解析 二叉树具有这样一个性质:在任意一棵二叉树中,度为0 的结点(叶子结点)总是比度为 2 的结点多一个。 所以某二叉树中共有 n 个度
22、为 2 的结点, 则该二叉树的叶子结点数为 n+1 。所以本题为 A5. 一科二叉树中共有 70 个叶子结点和 80 个度为 1 的结点,该二叉树的总结点数为()A 219B.221 C.229 D.231解析 二叉树具有这样一个性质:在任意一棵二叉树中,度为0 的结点(叶子结点)总是比度为 2 的结点多一个。本题告知,叶子结点有 70 个,那度为 2 的结点既有 69 个,度为 1 的结点有 80 个,这颗二叉树共有 70+69+80=219 个结点。所以 A6. 在深度为 7 的满二叉树中,度为 2 的结点个数为()解析 满二叉树的定义是除最后一层外,每一层的所有结点都有两个子结点(即每一
23、层上的 结点数均达到最大值) 。第 1 层(根结点在第 1 层)拥有的结点数是 20=1,第 2层拥有的结 点数是21=2,第3层拥有的结点数是 22=4,第n层拥有的结点数是2n-1。在深度为7的满二叉树中, 叶子结点全部在第 7层, 其余结点都是 2度结点。 在满二叉树中, 第7层拥 有的结点数是 27-1=64。二叉树具有这样一个性质:在任意一棵二叉树中, 度为 0的结点(即叶子结点)总是比度为 2 的结点多一个,所以度为 2 的结点个数为 64-1=63。7. 具有 8个结点的完全二叉树中编号为4的结点的右子结点的编号为()A. 8B.9C.无此结点D.8或9解析设完全二叉树共有 n个
24、结点,如果从根结点开始,按层序(每一层从左到右)用自然 数1, 2,n给结点进行编号(i=1, 2,,n),有以下结论:1. 若i=1,则该结点为根结点,它没有父结点;若i > 1,则该结点的父结点编号为i/2;其中i/2表示取i/2的整数部分。2. 若2i>n,该结点无左子结点(也无右子结点);若2i< n,则编号为i的结点的左子结点 编号为 2i;3. 若2i+1 >n,该结点无右子结点;若2i+1w n,则编号为i的结点的右子结点编号为2i+1。所以本题为 C1. 设一棵二叉树的中序遍历结果为DBEACF前序遍历结果为 ABDECF则后续遍历结果为()解析我们可以
25、根据前序遍历的结果ABDECF确定第一个元素 A是根结点,再看中序遍历的结果DBEACF A前面的DBE应该在左子树,A后面的FC应该在右子树。根据前序遍历的 结果和中序遍历的结果,我们可以推导出:A是根结点,B是A的左结点,D是B的左结点,E是B的右结点,C是A的右结点,F是C的右结点。画出二叉图,对后续遍历的结果为 DEBFCA.2. 树是一种简单的 结构,在树中,所有数据元素之间的关系具有明显的 特征。解析 非线性;层次3. 拥有奇数个结点的完全二叉树中有 4 个内部结点(非叶子结点) ,请问它的叶子结点数是 解析 5 分析 由于完全二叉树是自上而下、自左而右的从1 开始连续编码的,因此
26、完全二叉树要么不存在一度结点(当结点个数为奇数个数时) ,要么存在一个一度结点,而且唯 一的一个一度结点就是最后编号为n (n为偶数)的叶子结点的父结点。而在二叉树中零度结点个数总比二度结点个数多 1 ,因此拥有 4 个二度结点的二叉树的叶子结点个数是 4+1=5.总结,设n为完全二叉树的结点数,no为叶子结点数,小为度为1的结点数,匕为度 为2的结点数,贝V n=n°+n 1+ n2, n°=n2+1。若n为奇数,则n 1=0;若n为偶数,则n 1=1 (注 意一定要是完全二叉树) 。4. 设一棵完全二叉树共有 700 个结点,则在该二叉树中有()个叶子结点。解析完全二叉
27、树的特点:如果结点总数是偶数则(度为 1的结点)N1=1 ;如果结点总数为 奇数,则N1=o;二叉树始终n0= n2+1,n2= no-1,结点总数=n0+ n什n2 (将门2= n0-1,n1=1代入公式);则有 700= n° +1+ no-1,所以 no=35O5. 具有 16 个结点的完全二叉树的深度为()解析 5;二叉树的特点:具有 n 个结点的完全二叉树的深度为log2n+1 ,所以具有 16 个结点的完全二叉树的深度为 log216+1=56. 在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是A O(n)B.O(n2)C.O( log2 n )D.O(n
28、log2n)解析对于长度为n的线性表进行顺序查找,平均要进行n/2次比较,在最坏情况下要进行n 次比较;对于长度为 n 的线性表进行二分查找,在最坏的情况下要进行log2n 次比较(但二分查找要求线性表是顺序存储的有序表) 。因此本题答案为 C7. 请写出用二分查找法在有序顺序表1, 2, 3, 4, 6, 8, 9, 11中查找3的比较序列()解析4,2,3;可采用擦去法做这类二分法查找序列的题:每次从序列中找出中间元素, 刚开始时是 4,由于 3 比 4 小,只能存在在 4 之前的序列中,于是把 4 以后的序列擦去,只 剩下序列 1 , 2, 3,在重复以上过程直到查找元素或是序列为空。1
29、. 通过相邻数据元素的交换逐步使线性表变成有序的排序方法是()A.冒泡排序法B.简单选择排序法C.简单插入排序法D.希尔排序法解析 冒泡排序法是一种最简单的交换类排序方法,它是通过相邻数据元素的交换逐步将线 性表变成有序, 每次只能消除一个逆序。 简单插入排序法, 是将无序序列中的元素插入有序 的线性表中, 并依次与前面的元素进行比较, 直到大于前面的元素为止, 最多需要比较 n( n-1) /2 次。 希尔排序法是简单插入排序法的优化, 每进行依次可以消除多个逆序。 简单选择排序 法是指扫描整个线性表, 从中选出最小的元素, 将它交换到表的最前面, 然后对剩下的子表 采用同样的方法,直到子表
30、空为止。2. 冒泡排序在最坏情况下的比较次数是 ()A.n(n+1)/2B.nlog2nC.n(n-1)/2D.n/2解析对于长度为 n 的线性表,在最坏的情况下,冒泡排序需要进行的比较次数是n(n-1)/2。本题答案为 C2. 快速排序法属于()A.选择类排序法B.交换类排序法C插入类排序法D.归并类排序法解析 交换类排序法包括冒泡和快速排序法;插入类排序法包括简单插入和希尔排序法;选 择类排序法包括简单选择和堆排序法。本题为 B3. 下列排序方法中,最坏情况下比较次数最少的是()A.冒泡排序B.简单选择排序C.直接插入排序D.堆排序解析 冒泡排序、 简单选择排序和直接插入排序法在最坏的情况
31、下的比较次数为n(n-1)/2。而堆排序法在最坏情况下的比较次数为0(nlog2n),本题为D4. 长度为 10的顺序表的首地址是 1023开始的,顺序表中每个元素的长度为 2,在第 4 个 元素前面插入一个元素和删除第 7 个元素后,顺序表的总长度还是不变。问顺序表中第 5 个元素在执行插入和删除操作后在顺序表中的存储地址是()A.1028B.1029C.1031D.1033解析由于问的是原来顺序表中的第5个元素,它在插入操作后变成了第 6 个元素(因为插入的元素在它前面) 。由于删除的第 7 个元素在它后面,不会影响它在顺序表中的排位。因 此在执行插入和删除操作后原先顺序表中的第 5个元素
32、变成了新的顺序表中的第 6 个元素。 再按照线性表的随机存取地址的计算公式ADD (ai) =ADD(a1)+(i-1 )x k计算ADD(a6)=ADD(al) + (6-1 )X 2=1023+5 X 2=1033,所以选 D5. 是一组严谨地定义运算顺序的规则,并且每一个规则都是有效的,且是明确的,此顺序将在有限的次数下终止。解析 算法6. 在最坏的情况下,冒泡排序的时间复杂度为 ,简单插入排序的时间复杂度为 希尔排序的时间复杂度为 ,简单选择排序的时间复杂度为 ,堆排序的时间复杂度为 。1.5解析 0(n( n-1 ) /2); 0(n( n-1 ) /2);0(n1.5);0(n(
33、n-1 ) /2); 0(nlog2n);7. 以下排序技术中属于交换类排序法的有 ,属于插入类排序法的有 ,属于选择类排序法的有 。A.简单插入排序B.冒泡排序C.希尔排序D.堆排序E.快速排序F.简单选择排序解析 BE; AC;DF7. 算法中各操作之间的执行顺序称为() 。描述算法的工具通常有() 、()、()解析算法的控制结构;传统的流程图;N-S结构化流程图、算法描述语言1. 请写出冒泡排序法对序列5, 1, 7, 3, 1, 6, 9, 3, 2, 7, 6进行第一遍扫描后的排序结果是 .解析1,1,5,3,2,6,7,3,6,7,9分析冒泡排序法的基本过程: 首先,从表头开始往后
34、扫描线性表, 在扫描过程中逐次比较相邻两个元素的大小, 若前面的元素大于后面的元素, 则将他们交换, 这样最大者交换到了表的最后面;然后,从后往前扫描剩下的线性表,同样,在扫描过程中 逐次比较相邻两个元素的大小若后面的元素小于前面的元素,则将他们交换看, 这样最小者交换到了表的最前面; 从前往后和从后往前扫描一个来回称为一遍; 对剩下的线性表重复上 述过程,直到剩下的线性表变为空为止,这样线性表就变为有序了。现在我们来看看对线性表5,1, 7, 3, 1,6,9 ,3,2,7,6从前往后进行扫描的过程:5> 1 , 5和1交换位置得到 1 , 5 , 7 , 3 , 1 , 6 ,5V
35、7不管,继续往后扫描,扫描到 77> 37 和 3 交换位置得到 1537167> 17 和 1 交换位置得到 1531767> 67 和 6 交换位置得到 1531677V 9不管,继续往后扫描,扫描到 99> 39 和 3 交换位置得到 1531679> 2, 9 和 2 交换位置得到 1 ,5, 3, 1 , 6, 7,9> 7, 9 和 7 交换位置得到 1 ,5, 3, 1 , 6, 7,9,3,2,9,3,2,9,3,2,9,3,2,3,9,2,3,2,9,3,2,7,9> 6, 9 和 6 交换位置得到 1 ,5, 3, 1 , 6, 7
36、, 从前往后扫描结束, 9 交换到了线性表的最后。3,2,7,7, 67, 67, 67, 67, 67, 69, 66,9现在我们来看看对剩下的线性表的过程1,5,3,1,6,7,3,2,7,6,9从后往前进行扫描6V7, 6和7交换位置得到1,5,3,1,6,7,3,2,6,6> 2 不管,继续往前扫描,扫描到22V3, 2和3交换位置得到1,5,3,1,6,7,2,3,6,2V7, 2和7交换位置得到1,5,3,1,6,2,7,3,6,2V6, 2和6交换位置得到1,5,3,1,2,6,7,3,6,2> 1 不管,继续往前扫描,扫描到11 V 3, 1和3交换位置得到1,5,
37、1,3,2,6,7,3,6,1 V 5, 1和5交换位置得到1,1,5,3,2,6,7,3,6,7,97,97,97,97,97,92. 请写出用希尔排序法对序列5,1,7,3,1,6,9,3,2,7,6进行第一遍扫描后的排序结果是 .解析 5, 1 ,3,2, 1 , 6,9,7, 3, 7,6希尔排序法的基本思想:将整个无序序列分割成若干的子序列分别进行插入排序 (插入排序:开始线性表中只有第 1 个元素,然后从线性表的第 2个元素开始指导最后一个元素, 逐次将 其中的每一个元素插入到前面已经有序的子表中)子序列的分割方法:将相隔某个增量h ( ht=n/2k (k=1, 2 , 3log 2nn为待排序的线性表的长度)的元素构成一个子序列。在排序过程中,逐次减小这个增量,最后当h 减到 1 时进行一次插入排序,排序完成。按以上分析,第1次分割子序列h=n/2=11/2=5,构成的子序列有 5, 6 > 1, 9 7, 3卜3,2、1,7、 6(最后一个元素 6成单),每一个序列进行插入排序,结果为5,6、1, 9、7, 3、3, 2、1, 7、 6(最后一个元素 6成单),所以第一遍扫描后的结果 是 5, 1, 3, 2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 邮政ai面试试题及答案
- 自我需求测试题及答案
- 现代家具设计的流行材料分析试题及答案
- 识数与算术的幼儿园试题及答案
- 金融量化考试试题及答案
- 龙岩高速考试试题及答案
- 注册土木工程师考试特点总结试题及答案
- 预习知识点的土木工程师考试试题及答案
- 气割基础知识试题及答案
- 禹州语文测试题及答案
- 2024年烟台海阳市卫生健康局所属事业单位招聘工作人员真题
- 2025四川巴中市国有资本运营集团有限公司招聘17人笔试参考题库附带答案详解
- 餐饮行业合伙经营协议书
- 《互联网金融基础》第四章互联网基金
- 不间断电源装置(UPS)试验及运行质量检查表
- 学术型硕士学位(毕业)论文评阅意见书
- 心脏超声切面示意
- 2022年1月浙江高考英语应用文与读后续写范文汇总(素材)
- DB37∕T 4281-2020 场(厂)内专用机动车辆使用安全风险分级管控和事故隐患排查治理体系建设实施指南
- 保洁服务详细方案(完整版)
- 孔明灯(Lantern)3.4使用指南课件
评论
0/150
提交评论