数据结构考研试题精选及答案第10章排序
排序算法考研真题及答案

排序算法考研真题及答案排序算法是计算机科学中的一个基本问题,它涉及到将一组元素按照特定的顺序重新排列。
在考研计算机科学专业中,排序算法是一个重要的考察点。
以下是一些常见的排序算法考研真题及答案。
真题1:描述快速排序算法的基本思想,并给出其时间复杂度。
答案:快速排序算法是一种分治算法,其基本思想是:1. 选择一个元素作为“基准”(pivot)。
2. 重新排列数组,使得所有比基准小的元素都在基准的左边,所有比基准大的元素都在基准的右边。
3. 递归地将这个过程应用于基准左边和右边的子数组。
快速排序的平均时间复杂度是O(n log n),但在最坏情况下(例如,数组已经排序或所有元素相等)时间复杂度会退化到O(n^2)。
真题2:解释归并排序算法的工作原理,并说明其稳定性。
答案:归并排序是一种分治算法,其工作原理如下:1. 将数组分成两半,直到每个子数组只有一个元素。
2. 将这些只有一个元素的子数组合并,形成有序的子数组。
3. 重复这个过程,直到所有元素合并成一个有序数组。
归并排序是稳定的排序算法,因为它保证了相等元素的相对顺序在排序后不会改变。
真题3:插入排序算法在最好情况下的时间复杂度是多少?为什么?答案:插入排序算法在最好情况下的时间复杂度是O(n)。
这是因为当数组已经完全有序时,插入排序只需要进行n-1次比较,而不需要进行任何交换操作。
真题4:堆排序算法的工作原理是什么?请简要描述。
答案:堆排序算法的工作原理基于二叉堆数据结构:1. 将待排序数组构建成一个最大堆(或最小堆)。
2. 将堆顶元素(最大或最小元素)与最后一个元素交换,然后缩小堆的范围。
3. 重新调整堆,以保持堆的性质。
4. 重复步骤2和3,直到堆的大小减少到1。
真题5:为什么说冒泡排序算法在最坏情况下的时间复杂度是O(n^2)?答案:冒泡排序算法在最坏情况下的时间复杂度是O(n^2),因为当数组完全逆序时,每次冒泡都需要将最大的元素移动到数组的末尾,这需要n次比较和交换。
最完整的数据结构1800题包括完整答案第10章 排序答案

1 3 C (n − 2) + 3 C(n)=
n=2 n=3 n>3
通过逐步递推,可以得到:C(n)=3n/2-2。显然,当 n>=3 时,2n-3>3n/2-2。事实上, 3n/2-2 是解决这一问题的比较次数的下限。 6. 假定待排序的记录有 n 个。由于含 n 个记录的序列可能出现的状态有 n!个,则描述 n 个 记录排序过程的判定树必须有 n!个叶子结点。因为若少一个叶子,则说明尚有两种状态没 h-1 有分辨出来。我们知道,若二叉树高度是 h,则叶子结点个数最多为 2 ;反之,若有 u 个
59.1C 59.2A 59.3D 59.4B 59.5G
60.1B 60.2C 60.3A
61.1B 61.2D 61.3B 61.4C 61.5F
部分答案解释如下: 18. 对于后三种排序方法两趟排序后,序列的首部或尾部的两个元素应是有序的两个极值, 而给定的序列并不满足。 20. 本题为步长为 3 的一趟希尔排序。 24.枢轴是 73。 49. 小根堆中,关键字最大的记录只能在叶结点上,故不可能在小于等于 n/2 的结点上。 64. 因组与组之间已有序, 故将 n/k 个组分别排序即可, 基于比较的排序方法每组的时间下 界为 O(klog 2 k),全部时间下界为 O(nlog 2 k)。 二、判断题 1.√ 14. √ 27. √ 2.× 15. √ 28. × 3.× 16. × 29. × 4.× 17. × 30. × 5.× 18. × 31. √ 6.× 19. × 7.× 20. × 8.× 21. × 9.× 22. × 10. × 23. × 11. × 24. × 12. × 25. √ 13. × 26. ×
第 10 章 排序(参考答案)
数据结构第九、十章作业答案

数据结构第九、⼗章作业答案第九章查找⼀、填空题1. 在数据的存放⽆规律⽽⾔的线性表中进⾏检索的最佳⽅法是顺序查找(线性查找)。
2. 线性有序表(a 1,a 2,a 3,…,a 256)是从⼩到⼤排列的,对⼀个给定的值k ,⽤⼆分法检索表中与k 相等的元素,在查找不成功的情况下,最多需要检索 8 次。
设有100个结点,⽤⼆分法查找时,最⼤⽐较次数是 7 。
3. 假设在有序线性表a[1..20]上进⾏折半查找,则⽐较⼀次查找成功的结点数为1;⽐较两次查找成功的结点数为 2 ;⽐较四次查找成功的结点数为 8 ,其下标从⼩到⼤依次是1,3,6,8,11,13,16,19______,平均查找长度为 3.7 。
解:显然,平均查找长度=O (log 2n )<5次(25)。
但具体是多少次,则不应当按照公式)1(log 12++=n n n ASL 来计算(即(21×log 221)/20=4.6次并不正确!)。
因为这是在假设n =2m -1的情况下推导出来的公式。
应当⽤穷举法罗列:全部元素的查找次数为=(1+2×2+4×3+8×4+5×5)=74; ASL =74/20=3.74.折半查找有序表(4,6,12,20,28,38,50,70,88,100),若查找表中元素20,它将依次与表中元素 28,6,12,20 ⽐较⼤⼩。
5. 在各种查找⽅法中,平均查找长度与结点个数n ⽆关的查找⽅法是散列查找。
6. 散列法存储的基本思想是由关键字的值决定数据的存储地址。
7. 有⼀个表长为m 的散列表,初始状态为空,现将n (n8、设⼀哈希表表长M 为100 ,⽤除留余数法构造哈希函数,即H (K )=K MOD P (P<=M ), 为使函数具有较好性能,P 应选( 97 )9、在各种查找⽅法中,平均查找长度与结点个数⽆关的是哈希查找法10、对线性表进⾏⼆分查找时,要求线性表必须以顺序⽅式存储,且结点按关键字有序排列。
数据结构 排序 历年考研练习题库 试卷及答案

数据结构排序历年考研练习题库试卷及答案数据结构排序历年考研练习题库试卷及答案一、冒泡排序冒泡排序是一种基本的排序算法,它通过重复地交换相邻两个元素的位置来实现排序。
算法的基本思想是从待排序的元素中比较相邻的两个元素大小,并根据需要交换它们的位置,直到整个序列有序为止。
冒泡排序的原理如下:首先从序列的第一个元素开始,比较相邻的两个元素的大小,若前面的元素大于后面的元素,则交换它们的位置;否则,继续比较下一对相邻元素,直到比较到序列的最后一个元素。
这样一趟比较下来,序列中最大的元素就会被交换到最后一个位置。
接着,对序列中剩下的 n-1 个元素重复上述过程,执行 n-1 趟比较,直到整个序列有序。
在实践中,冒泡排序的时间复杂度为 O(n^2),其中 n 为待排序序列的长度。
尽管冒泡排序存在其它更好的排序算法,但它具有编码简单、实现容易以及对小规模数据排序的优势。
二、选择排序选择排序也是一种简单直观的排序算法,它的思想是将待排序序列分为已排好序的部分和未排序的部分,每次选取未排序部分中最小(或最大)的元素,将其放置在已排好序的部分的末尾。
重复此过程,直到整个序列有序。
选择排序的具体步骤如下:首先从待排序序列中找到最小(或最大)的元素,然后将其与序列的第一个元素交换位置,将该元素视为已排序部分;接着,在剩下的未排序部分中找到最小(或最大)的元素,将其与第二个元素交换位置,将该元素视为已排序部分的最后一个元素;以此类推,每次选择序列中最小(或最大)的元素,并将该元素放置在已排序部分的末尾。
最终完成排序。
选择排序的时间复杂度同样为 O(n^2),其中 n 为待排序序列的长度。
相比于冒泡排序,选择排序的交换操作较少,因此在实际应用中,选择排序的性能要优于冒泡排序。
三、插入排序插入排序是一种简单直观的排序算法,它的基本思想是将待排序的元素逐个插入已排好序的部分中,直到整个序列有序。
与冒泡排序和选择排序不同,插入排序是一种原地排序算法。
数据结构考研真题与答案解析

数据结构考研真题与答案解析【数据结构考研真题与答案解析】数据结构是计算机科学与技术中的重要学科,也是考研中不可或缺的一部分。
在考研中,掌握数据结构的相关知识对于顺利通过考试至关重要。
本文将为大家介绍一些历年考研真题,并对答案进行解析,希望对大家备考有所帮助。
一、堆排序相关问题1. 2014年考研真题(题目描述)给定n个整数的序列S,其中$n \leq 10^6$且没有相同元素,并且给定另外的一个元素x,输出S中小于x的最大的数,如果不存在则输出“-1”。
(解析)这是一道关于堆排序的问题。
我们可以利用大顶堆来解决这个问题。
首先建立一个大顶堆,然后依次将序列S中的元素插入到堆中。
在插入的过程中,我们可以通过比较当前元素和x的大小,找到小于x的最大的数。
最后输出即可。
若不存在小于x的元素,则输出“-1”。
二、图的遍历问题2. 2016年考研真题(题目描述)对于一个无向图G,设计一个算法,判断图G是否连通,并给出详细的算法描述和复杂度分析。
(解析)对于这个问题,我们可以使用深度优先搜索(DFS)或广度优先搜索(BFS)来解决。
我们可以从图中的任意一个节点开始进行深度或广度遍历,然后标记遍历过的节点。
最后判断所有的节点是否都被遍历到,若是,则图G是连通的,否则不连通。
若使用邻接表表示图,则DFS和BFS的时间复杂度均为O(|V|+|E|),其中|V|和|E|分别代表图中的节点数和边数。
三、二叉搜索树相关问题3. 2018年考研真题(题目描述)给定一个二叉搜索树,请设计一个算法,找出其中第k大的节点。
(解析)对于这个问题,我们可以利用二叉搜索树的性质。
由于二叉搜索树的中序遍历结果是有序的,我们可以进行中序遍历,并将遍历结果保存到一个有序数组中。
然后根据数组中第k个位置的元素找到对应的节点即可。
算法的时间复杂度为O(n),其中n为二叉搜索树中节点的个数。
四、哈夫曼编码问题4. 2017年考研真题(题目描述)给定一段文字,编写一个算法,根据字符出现的频率构建哈夫曼编码。
数据结构c语言考研试题及答案

数据结构c语言考研试题及答案数据结构C语言考研试题及答案1. 单项选择题A. 线性表的顺序存储结构通常使用数组来实现。
B. 链表的插入和删除操作需要移动大量元素。
C. 栈是先进后出的数据结构。
D. 哈希表的冲突可以通过链地址法解决。
答案:A2. 多项选择题A. 队列是先进先出的数据结构。
B. 二叉树的遍历方式包括前序、中序、后序遍历。
C. 图的遍历可以使用深度优先搜索或广度优先搜索。
D. 堆是一种特殊的二叉树。
答案:A, B, C, D3. 简答题什么是二叉搜索树?请简述其特点。
答案:二叉搜索树是一种特殊的二叉树,其中每个节点的值都大于其左子树上所有节点的值,且小于其右子树上所有节点的值。
其特点包括:可以快速进行查找、插入和删除操作;树的高度较小时,效率较高。
4. 计算题给定一个数组A[10],其元素为{3, 5, 7, 2, 8, 6, 4, 1, 9, 0},请使用归并排序算法对其进行排序,并给出排序后的数组。
答案:排序步骤如下:1. 将数组分为两部分:A[0-4]和A[5-9]。
2. 对A[0-4]和A[5-9]分别进行归并排序。
3. 将排序后的两部分合并。
排序后的数组为:{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}。
5. 编程题请编写一个C语言函数,实现链表的反转。
答案:```cstruct ListNode {int val;struct ListNode *next;};struct ListNode* reverseList(struct ListNode* head) { struct ListNode *prev = NULL;struct ListNode *curr = head;struct ListNode *next = NULL;while (curr != NULL) {next = curr->next;curr->next = prev;prev = curr;curr = next;}head = prev;return head;}```。
数据结构第10章 习题答案

1.下列排序算法中,其中( D )是稳定的。
A. 堆排序,冒泡排序B. 快速排序,堆排序C. 直接选择排序,归并排序D. 归并排序,冒泡排序2.有一组数据(15,9,7,8,20,-1,7,4)用快速排序的划分方法进行一趟划分后数据的排序为 ( A )(按递增序)。
A.下面的B,C,D都不对。
B.9,7,8,4,-1,7,15,20C.20,15,8,9,7,-1,4,7 D. 9,4,7,8,7,-1,15,203.下列排序算法中,在每一趟都能选出一个元素放到其最终位置上,并且其时间性能受数据初始特性影响的是:( B )。
A. 直接插入排序B. 快速排序C. 直接选择排序D. 堆排序4.如果只想得到1000个元素组成的序列中第5个最小元素之前的部分排序的序列,用( D )方法最快。
A.起泡排序 B.快速排列 C.Shell排序 D.堆排序 E.简单选择排序5.从未排序序列中依次取出一个元素与已排序序列中的元素依次进行比较,然后将其放在已排序序列的合适位置,该排序方法称为( A )排序法。
A. 插入B. 选择C. 希尔D. 二路归并6. 在排序算法中,每次从未排序的记录中挑出最小(或最大)关键码字的记录,加入到已排序记录的末尾,该排序方法是( A )。
A. 选择B. 冒泡C. 插入D. 堆7. 若用冒泡排序方法对序列{10,14,26,29,41,52}从大到小排序,需进行( C )次比较。
A. 3B. 10C. 15D. 258. 对序列{15,9,7,8,20,-1,4,} 用希尔排序方法排序,经一趟后序列变为{15,-l,4,8,20,9,7}则该次采用的增量是 ( B )A. lB. 4C. 3D. 29. 堆排序是( E )类排序A. 插入B. 交换C. 归并D. 基数E. 选择10.排序方法有许多种,(1)法从未排序的序列中依次取出元素,与已排序序列(初始时为空)中的元素作比较,将其放入已排序序列的正确位置上;(2)法从未排序的序列中挑选元素,并将其依次放入已排序序列(初始时为空)的一端;交换排序方法是对序列中的元素进行一系列比较,当被比较的两元素逆序时,进行交换;(3)和(4)是基于这类方法的两种排序方法,而(4)是比(3)效率更高的方法;(5)法是基于选择排序的一种排序方法,是完全二叉树结构的一个重要应用。
数据结构考研试题精选及答案第10章排序

第10章 排序排序排序一、选择题 1.某内排序方法的稳定性是指.某内排序方法的稳定性是指( )( )( )。
【南京理工大学【南京理工大学 1997 1997 1997 一、一、一、101010((2分)】 A .该排序算法不允许有相同的关键字记录该排序算法不允许有相同的关键字记录 B B B..该排序算法允许有相同的关键字记录记录C .平均时间为0(n log n n log n)的排序方法)的排序方法)的排序方法D D D.以上都不对.以上都不对.以上都不对2.下面给出的四种排序法中下面给出的四种排序法中( )( )( )排序法是不稳定性排序法。
排序法是不稳定性排序法。
【北京航空航天大学北京航空航天大学 1999 1999 1999 一、一、10 10 ((2分)】 A. A. 插入插入插入 B. B. B. 冒泡冒泡冒泡 C. C. C. 二路归并二路归并二路归并 D. D. D. 堆积堆积堆积 3.下列排序算法中,其中(.下列排序算法中,其中( )是稳定的。
)是稳定的。
)是稳定的。
【福州大学【福州大学 1998 1998 1998 一、一、一、3 (23 (2分)】A. A. 堆排序,冒泡排序堆排序,冒泡排序堆排序,冒泡排序B. B. B. 快速排序,堆排序快速排序,堆排序快速排序,堆排序C. C. 直接选择排序,归并排序直接选择排序,归并排序直接选择排序,归并排序D. D. D. 归并排序,冒泡排序归并排序,冒泡排序归并排序,冒泡排序4.稳定的排序方法是(.稳定的排序方法是( )) 【北方交通大学【北方交通大学【北方交通大学 2000 2000 2000 二、二、二、33(2分)】 A .直接插入排序和快速排序.直接插入排序和快速排序 B B B.折半插入排序和起泡排序.折半插入排序和起泡排序.折半插入排序和起泡排序C .简单选择排序和四路归并排序.简单选择排序和四路归并排序D D D.树形选择排序和.树形选择排序和shell 排序排序5.下列排序方法中,哪一个是稳定的排序方法?(.下列排序方法中,哪一个是稳定的排序方法?( ) 【北方交通大学【北方交通大学【北方交通大学 2001 2001 2001 一、一、一、88(2分)】A .直接选择排序.直接选择排序B B B.二分法插入排序.二分法插入排序.二分法插入排序C C C.希尔排序.希尔排序.希尔排序D D D.快速排序.快速排序.快速排序6.若要求尽可能快地对序列进行稳定的排序,则应选(.若要求尽可能快地对序列进行稳定的排序,则应选(A A .快速排序.快速排序 B B B.归并排序.归并排序.归并排序 C C C.冒.冒泡排序)。
数据结构考试试题库含答案解析

数据结构考试试题库含答案解析数据结构习题集含答案⽬录⽬录 (1)选择题 (2)第⼀章绪论 (2)第⼆章线性表 (4)第三章栈和队列 (6)第四章串 (7)第五章数组和⼴义表 (8)第六章树和⼆叉树 (8)第七章图 (11)第⼋章查找 (13)第九章排序 (14)简答题 (19)第⼀章绪论 (19)第⼆章线性表 (24)第三章栈和队列 (26)第四章串 (28)第五章数组和⼴义表 (29)第六章树和⼆叉树 (31)第七章图 (36)第⼋章查找 (38)第九章排序 (39)编程题 (41)第⼀章绪论 (41)第⼆章线性表 (41)第三章栈和队列 (52)第四章串 (52)第五章数组和⼴义表 (52)第六章树和⼆叉树 (52)第七章图 (52)第⼋章查找 (52)第⼀章绪论1.数据结构这门学科是针对什么问题⽽产⽣的?(A )A、针对⾮数值计算的程序设计问题B、针对数值计算的程序设计问题C、数值计算与⾮数值计算的问题都针对D、两者都不针对2.数据结构这门学科的研究内容下⾯选项最准确的是(D )A、研究数据对象和数据之间的关系B、研究数据对象C、研究数据对象和数据的操作D、研究数据对象、数据之间的关系和操作3.某班级的学⽣成绩表中查得张三同学的各科成绩记录,其中数据结构考了90分,那么下⾯关于数据对象、数据元素、数据项描述正确的是(C )A、某班级的学⽣成绩表是数据元素,90分是数据项B、某班级的学⽣成绩表是数据对象,90分是数据元素C、某班级的学⽣成绩表是数据对象,90分是数据项D、某班级的学⽣成绩表是数据元素,90分是数据元素4.*数据结构是指(A )。
A、数据元素的组织形式B、数据类型C、数据存储结构D、数据定义5.数据在计算机存储器内表⽰时,物理地址与逻辑地址不相同,称之为(C )。
A、存储结构B、逻辑结构C、链式存储结构D、顺序存储结构6.算法分析的⽬的是(C )A、找出数据的合理性B、研究算法中的输⼊和输出关系C、分析算法效率以求改进D、分析算法的易懂性和⽂档型性7.算法分析的主要⽅法(A )。
数据结构第10章排序练习及答案

9.1选择题1.从末排序的序列中依次取出一个元素与已排序序列中的元素依次进行比较,然后将其放在排序序列的合适位置,该排序方法称为()排序法。
A)插入B)选择C)希尔D)二路归并【答案】A2.下面各种排序方法中,最好情况下时间复杂度为O(n)的是()A)快速排序B)直接插入排序C)堆排序D)归并排序【答案】B3.用某种排序方法对线性表(25,84,21,47,15,27,68,35,20)进行排序时,无序序列的变化情况如下:25 84 21 47 15 27 68 35 2020 15 21 25 47 27 68 35 8415 20 21 25 35 27 47 68 8415 20 21 25 27 35 47 68 84则所采用的排序方法是()A)选择排序B)希尔排序C)归并排序D)快速排序【答案】D4.下面给出的四种排序法中,()排序是不稳定排序法。
A)插入B)冒泡C)二路归并D)堆【答案】D5.快速排序方法在()情况下最不利于发挥其长处。
A)要排序的数据量太大B)要排序的数据中含有多个相同值C)要排序的数据已基本有序D)要排序的数据个数为奇数【答案】C6.一组记录的关键码为(46,79,56,38,40,84),则利用快速排序的方法,以第一个记录为基准得到的一次划分结果为()A)38,40,46,56,79,84B)40,38,46,79,56,84C)40,38,46,56,79,84D)40,38,46,84,56,79【答案】C7.对记录的关键码{50,26,38,80,70,90,8,30,40,20}进行排序,各趟排序结束时的结果为:50,26,38,80,70,90 ,8,30,40,2050,8,30,40,20,90,26,38,80,7026,8,30,40,20,80,50,38,90,708,20,26,30,38,40,50,70,80,90其使用的排序方法是()A)快速排序B)基数排序C)希尔排序D)归并排序【答案】C8.以下序列不是堆的是()A)100,85,98,77,80,60,82,40,20,10,66B)100,98,85,82,80,77,66,60,40,20,10C)10,20,40,60,66,77,80,82,85,98,100D)100,85,40,77,80,60,66,98,82,10,20【答案】D【解析】根据堆采用完全二叉树的顺序存储形式及堆的特点,因第一个结点即根结点关键字值最大,则应建立一个大根堆,但依据此数据序列建立起堆后关键字值为40的左右孩子结点分别为60、66,不符合大根堆特点。
数据结构(内部排序)习题与答案

一、单选题1、对关键字序列(21,19,37,5,2),经直接插入排序法由小到大排序,第一趟后所得结果为()。
A.(19,21,5,2,37)B.(19,21,37,5,2)C.(19,21,2,5,37)D.(19,21,5,37,2)正确答案:B2、对关键字序列(21,19,37,5,2),经冒泡排序法由小到大排序,第一趟后所得结果为()。
A.(19,21,37,5,2)B.(19,21,2,5,37)C.(19,21,5,37,2)D.(19,21,5,2,37)正确答案:D3、对关键字序列(149,138,165,197,176,113,127),采用基数排序的第一趟之后所得结果为()。
A.(113,165,176,197,127,138,149)B.(113,165,176,127,197,138,149)C.(113,127,138,149,165,176,197)D.(149,138,165,197,176,113,127)正确答案:A4、下列各项键值()序列不是堆的。
A.(5,23,68,16,94)B.(5,23,16,94,68)C.(5,16,23,68,94)D.(5,23,16,68,94)正确答案:A5、假设一组待排序的关键字序列为(24,62,36,19),要求从小到大进行排序,()是归并排序的过程。
A.(24,62,36,19)(24,36,62,19)(19,24,36,62)B.(24,62,19,36)(19,24,36,62)C.(62,24,36,19)(19,24,36,62)D.(24,19,36,62)(24,19,36,62)(19,24,36,62)正确答案:B6、在第一趟排序之后,不能确保将数据表中某一个元素放在其最终位置上的排序算法是()。
A.归并排序B.快速排序C.冒泡排序D.选择排序正确答案:A7、对于下列排序,()的时间效率与关键字初始序列有直接关系。
数据结构习题及答案(3)

数据结构习题及答案(3)第九章排序⼀、选择题1.在所有排序⽅法中,关键字⽐较的次数与记录得初始排列次序⽆关的是()(A)希尔排序(B)起泡排序(C)插⼊排序(D)选择排序参考答案:D2.设有1000个⽆序的元素,希望⽤最快的速度挑选出其中前10个最⼤的元素,最好()排序法。
(A)起泡排序(B)快速排序(C)堆排序(D)基数排序参考答案:C3.在待排序的元素序列基本有序的前提下,效率最⾼的排序⽅法是()(A)插⼊排序(B)选择排序(C)快速排序(D)归并排序参考答案:A4.⼀组记录的排序码为(46,79,56,38,40,84),则利⽤堆排序的⽅法建⽴的初始推为()。
(A)79,46,56,38,40,80 (B)84,79,56,38,40,46(C)84,79,56,46,40,38 (D)84,56,79,40,46,38参考答案:B5.⼀组记录的关键码为(46,79,56,38,40,84),则利⽤快速排序的⽅法,以第⼀个记录为基准得到的⼀次划分结果为()。
(A)38,40,46,56,79,84(B)40,38,46,79,56,84(C)40,38,46,56,79,84(D)40,38,46,84,56,79参考答案:C6.⼀组记录的排序码为(25,48,16,35,79,82,23,40,36,72),其中含有5个长度为2的有序表,按归并排序的⽅法对该序列进⾏⼀趟归并后的结果为()。
(A)16,25,35,48,23,40,79,82,36,72(B)16,25,35,48,79,82,23,36,40,72(C)16,25,48,35,79,82,23,36,40,72(D)16,25,35,48,79,23,36,40,72,82参考答案:A7.排序⽅法中,从未排序序列中依次取出元素与⼰排序序列(初始时为空)中的元素进⾏⽐较,将其放⼊⼰排序序列的正确位置上的⽅法,称为()(A)希尔排序(B)起泡排序(C)插⼊排序(D)选择排序参考答案:C8.排序⽅法中,从未排序序列中挑选元素并将其依次放⼊⼰排序序列(初始为空)的⼀端的⽅法,称为()(A)希尔排序(B)归并排序(C)插⼊排序(D)选择排序参考答案:D9.⽤某种排序⽅法对线性表(25,84,21,47,15,27,68,35,20)进⾏排序时,元素序列的变化情况如下:(1)25,84,21,47,15,27,68,35,20 (2)20,15,21,25,47,27,68,35,84(3)15,20,21,25,35,27,47,68,84 (4)15,20,21,25,27,35,47,68,845则所采⽤的排序⽅法是()。
数据结构Ch10习题答案

第十章内部排序一、择题1.用直接插入排序法对下面四个表进行(由小到大)排序,比较次数最少的是(B)。
A.(94,32,40,90,80,46,21,69)插32,比2次插40,比2次插90,比2次插80,比3次插46,比4次插21,比7次插69,比4次B.(21,32,46,40,80,69,90,94)插32,比1次插46,比1次插40,比2次插80,比1次插69,比2次插90,比1次插94,比1次C.(32,40,21,46,69,94,90,80)插40,比1次插21,比3次插46,比1次插69,比1次插94,比1次插90,比2次插80,比3次D.(90,69,80,46,21,32,94,40)插69,比2次插80,比2次插46,比4次插21,比5次插32,比5次插94,比1次插40,比6次2.下列排序方法中,哪一个是稳定的排序方法(BD)。
A.希尔排序B.直接选择排序C.堆排序D.冒泡排序下列3题基于如下代码:for(i=2;i<=n;i++){ x=A[i];j=i-1;while(j>0&&A[j]>x){ A[j+1]=A[j];j--;}A[j+1]=x}3.这一段代码所描述的排序方法称作(A)。
A.插入排序B.冒泡排序C.选择排序D.快速排序4.这一段代码所描述的排序方法的平均执行时间为(D)A.O(log2n) B.O(n) C.O(nlog2n) D.O(n2)5.假设这段代码开始执行时,数组A中的元素已经按值的递增次序排好了序,则这段代码的执行时间为(B)。
A.O(log2n) B.O(n) C.O(nlog2n) D.O(n2)6.在快速排序过程中,每次被划分的表(或了表)分成左、右两个子表,考虑这两个子表,下列结论一定正确是(B)。
A.左、右两个子表都已各自排好序B.左边子表中的元素都不大于右边子表中的元素C.左边子表的长度小于右边子表的长度D.左、右两个子表中元素的平均值相等7.对n个记录进行堆排序,最坏情况下的执行时间为(C)。
考研数据结构试题及答案

考研数据结构试题及答案一、选择题(每题2分,共10分)1. 在数据结构中,线性表的顺序存储结构通常使用什么数据结构来实现?A. 链表B. 栈C. 数组D. 队列答案:C2. 下列关于图的描述中,错误的是:A. 图是由顶点和边组成的B. 图中的边可以是无向边或有向边C. 图中任意两个顶点之间有且只有一条边D. 图可以是无向的或有向的答案:C3. 哈希表的冲突可以通过以下哪种方法来解决?A. 链地址法B. 排序C. 插入排序D. 选择排序答案:A4. 在二叉树的遍历算法中,先访问根节点,然后遍历左子树,最后遍历右子树,这种遍历方式被称为:A. 前序遍历B. 中序遍历C. 后序遍历D. 层序遍历答案:A5. 在排序算法中,时间复杂度为O(nlogn)的算法是:A. 冒泡排序B. 快速排序C. 插入排序D. 选择排序答案:B二、填空题(每题2分,共10分)1. 在二叉搜索树中,对于任意节点,其左子树中的所有节点的值都比该节点的值________。
答案:小2. 堆是一种特殊的完全二叉树,其中每个节点的值都大于或等于其子节点的值的堆被称为________。
答案:最大堆3. 在图的遍历中,深度优先搜索(DFS)使用的数据结构是________。
答案:栈4. 动态数组在进行插入操作时,如果数组已满,通常需要进行________操作。
答案:扩容5. 快速排序算法在最坏情况下的时间复杂度是________。
答案:O(n^2)三、简答题(每题5分,共20分)1. 请简述什么是递归,并举例说明递归在数据结构中的应用。
答案:递归是一种方法,它允许函数调用自身来解决问题。
在数据结构中,递归常用于遍历树和图,例如二叉树的前序、中序和后序遍历。
2. 描述排序算法中的稳定性和不稳定性,并给出一个稳定性排序算法的例子。
答案:稳定性排序算法是指在排序过程中,相等的元素的相对顺序不会改变。
不稳定性排序算法则可能改变相等元素的相对顺序。
数据结构考研试卷 (10)

附录 B 三份数据结构考研试题及参考答案试题一(满分75)一、单项选择题(2×10分,共20分)1.某算法的时间复杂度为O(n2),表明该算法的_.A.问题规模是n2B.执行时间等于n2C.执行时间与n2成正比D.问题规模与n2成正比2.设线性表有n个元素,以下操作中,_在顺序表上实现比在链表上实现效率更高.A.输出第i(1≤i≤n)个元素值B.交换第1个元素与第2个元素的值C.顺序输出这n个元素的值D.输出与给定值x相等的元素在线性表中的序号3.设n个元素进栈序列是1,2,3,…,n,其输出序列是p1,p2,…p n,若p1=3,则p2的值_.A.一定是2B.一定是1C.不可能是1D.以上都不对4.设循环队列中数组的下标是0~N-1,其头尾指针分别为f(指向队头元素的前一位置)和r(指向队尾元素的位置),则其元素个数为_.A.r-fB.r-f-1C.(r-f)%N+1D.(r-f+N)%N5.若串s=’abcefgh’,其子串(含空串和自身)的个数是_.A.8B.37C.36D.96.若将n阶上三角矩阵A按列优先顺序压缩存放在一维数组B[1..n(n+1)/2]中,第一个非零元素a11存放于B[1]中,则应存放到B[k]中的非零元素a ij(1≤i≤n;1≤j≤i)的下标i,j 与k的对应关系是k=( )。
A.i(i+1)/2+jB. i(i-1)/2+j-1C. j(j+1)/2+ID. j(j-1)/2+i-17. 设高度为h(根结点为第1层)的二叉树上只有度为0和度为2的结点,则此类二叉树中所包含的结点数至少为( ).A. 2hB.2h-1C.2h+1D.h+18. 无向图的邻接矩阵是一个()。
A. 对称矩阵B.零矩阵C.上三角矩阵D.对角矩阵9. 对线性表进行二分查找时,要求线性表必须()。
A. 以顺序表方式存储B. 以链接方式存储C. 以顺序方式存储,且结点按关键字有序排序D. 以链式方式存储,且结点按关键字有序排序10. 以下排序算法中,()不能保证每趟排序至少能将一个元素放到其最终位置上。
计算机考研数据结构试卷十(练习题含答案)

计算机考研数据结构试卷十(练习题含答案)共25套适用于计算机考研数据结构系统练习(PS:其他正在整理,敬请期待)数据结构试卷10一、选择题1.下列程序段的时间复杂度为()。
i=0,s=0;while (s(A) O(n1/2) (B) O(n1/3) (C) O(n) (D) O(n2)2.设某链表中最常用的操作是在链表的尾部插入或删除元素,则选用下列()存储方式最节省运算时间。
(A) 单向链表(B) 单向循环链表(C) 双向链表(D) 双向循环链表3.设指针q指向单链表中结点A,指针p指向单链表中结点A的后继结点B,指针s指向被插入的结点X,则在结点A和结点B插入结点X的操作序列为()。
(A) s->next=p->next;p->next=-s;(B) q->next=s; s->next=p;(C) p->next=s->next;s->next=p;(D) p->next=s;s->next=q;4.设输入序列为1、2、3、4、5、6,则通过栈的作用后可以得到的输出序列为()。
(A) 5,3,4,6,1,2 (B) 3,2,5,6,4,1(C) 3,1,2,5,4,6 (D) 1,5,4,6,2,35.设有一个10阶的下三角矩阵A(包括对角线),按照从上到下、从左到右的顺序存储到连续的55个存储单元中,每个数组元素占1个字节的存储空间,则A[5][4]地址与A[0][0]的地址之差为()。
(A) 10 (B) 19 (C) 28 (D) 556.设一棵m叉树中有N1个度数为1的结点,N个度数为2的结点,……,Nm个度数为m的结点,则该树中共有()个叶子结点。
(A) ∑=-miiNi1)1((B) ∑=miiN1(C) ∑=miiN2(D) ∑=-+iiNi2)1(17. 二叉排序树中左子树上所有结点的值均()根结点的值。
(A) < (B) > (C) = (D) !=8. 设一组权值集合W=(15,3,14,2,6,9,16,17),要求根据这些权值集合构造一棵哈夫曼树,则这棵哈夫曼树的带权路径长度为()。
《数据结构与算法》第十章-排序习题

《数据结构与算法》第二部分习题精选一、填空题1. 大多数排序算法都有两个基本的操作:和。
2. 在对一组记录(54,38,96,23,15,72,60,45,83)进行直接插入排序时,当把第7个记录60插入到有序表时,为寻找插入位置至少需比较次。
(可约定为从后向前比较)3. 在插入和选择排序中,若初始数据基本正序,则选用;若初始数据基本反序,则选用。
4. 在堆排序和快速排序中,若初始记录接近正序或反序,则选用;若初始记录基本无序,则最好选用。
5. 对于n个记录的集合进行冒泡排序,在最坏的情况下所需要的时间是。
若对其进行快速排序,在最坏的情况下所需要的时间是。
6. 对于n个记录的集合进行归并排序,所需要的平均时间是,所需要的附加空间是。
7.对于n个记录的表进行2路归并排序,整个归并排序需进行趟(遍),共计移动次记录。
二、单项选择题()1.将5个不同的数据进行排序,至多需要比较次。
A. 8 B. 9 C. 10 D. 25()2.排序方法中,从未排序序列中依次取出元素与已排序序列(初始时为空)中的元素进行比较,将其放入已排序序列的正确位置上的方法,称为A. 希尔排序B. 冒泡排序C. 插入排序D. 选择排序()3.排序方法中,从未排序序列中挑选元素,并将其依次插入已排序序列(初始时为空)的一端的方法,称为A. 希尔排序B. 归并排序C. 插入排序D. 选择排序()4.对n个不同的排序码进行冒泡排序,在下列哪种情况下比较的次数最多。
A. 从小到大排列好的B. 从大到小排列好的C. 元素无序D. 元素基本有序()5.对n个不同的排序码进行冒泡排序,在元素无序的情况下比较的次数为A. n+1 B. n C. n-1 D. n(n-1)/2 ()6.快速排序在下列哪种情况下最易发挥其长处。
A. 被排序的数据中含有多个相同排序码B. 被排序的数据已基本有序C. 被排序的数据完全无序D. 被排序的数据中的最大值和最小值相差悬殊()7.对有n个记录的表作快速排序,在最坏情况下,算法的时间复杂度是A.O(n) B.O(n2) C.O(nlog2n) D.O(n3)()8.若一组记录的排序码为(46, 79, 56, 38, 40, 84),则利用快速排序的方法,以第一个记录为基准得到的一次划分结果为A. 38, 40, 46, 56, 79, 84 B. 40,38, 46 , 79, 56, 84C. 40, 38,46, 56, 79, 84 D. 40, 38,46, 84, 56, 79()9.在最好情况下,下列排序算法中排序算法所需比较关键字次数最少。
排序算法考研真题答案

排序算法考研真题答案排序算法是计算机科学领域中一个重要的概念,它涉及到如何将一组数据按照特定的顺序重新排列。
在考研中,排序算法的题目通常考察学生对不同排序算法原理的理解以及它们的时间复杂度和空间复杂度。
以下是一些常见的排序算法考研真题答案的要点:1. 冒泡排序:这是一种简单的排序算法,通过重复遍历待排序的列表,比较每对相邻元素的大小,并在必要时交换它们的位置。
它的平均时间复杂度为O(n^2),其中n是列表的长度。
2. 选择排序:选择排序算法会从未排序序列中找到最小(或最大)的元素,存放到排序序列的起始位置,然后再从剩余未排序元素中继续寻找最小(或最大)元素,然后放到已排序序列的末尾。
以此类推,直到所有元素均排序完毕。
选择排序的时间复杂度为O(n^2)。
3. 插入排序:插入排序的工作方式是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。
插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。
插入排序的时间复杂度为O(n^2)。
4. 快速排序:快速排序是一种分而治之的排序算法。
它从数列中挑出一个元素,叫“基准”(pivot),重新排序数列,所有比基准值小的元素摆放在基准前面,所有比基准值大的元素摆在基准的后面(相同的数可以到任一边)。
在这个分区退出之后,该基准就处于数列的中间位置。
这个过程称为一次“划分”(partition)。
然后递归地(recursive)把小于基准值元素的子数列和大于基准值元素的子数列排序。
快速排序的平均时间复杂度为O(n log n)。
5. 归并排序:归并排序是一种分治算法。
它将原始数据分成若干个子序列,每个子序列是有序的。
然后再把有序的子序列合并为整体有序序列。
归并排序的时间复杂度为O(n log n)。
6. 堆排序:堆排序是利用堆这种数据结构所设计的一种排序算法。
数据结构试题及答案()

1. 1.数据结构是指数据及其相互之间的______________。
当结点之间存在M对N(M:N)的联系时,称这种结构为_____________________。
2. 2.队列的插入操作是在队列的___尾______进行,删除操作是在队列的____首______进行。
3. 3.当用长度为N的数组顺序存储一个栈时,假定用top==N表示栈空,则表示栈满的条件是___top==0___(要超出才为满)_______________。
4. 4.对于一个长度为n的单链存储的线性表,在表头插入元素的时间复杂度为_________,在表尾插入元素的时间复杂度为____________。
5. 5.设W为一个二维数组,其每个数据元素占用4个字节,行下标i从0到7 ,列下标j从0到3 ,则二维数组W的数据元素共占用_______个字节。
W中第6 行的元素和第4 列的元素共占用_________个字节。
若按行顺序存放二维数组W,其起始地址为100,则二维数组元素W[6,3]的起始地址为__________。
6. 6.广义表A= (a,(a,b),((a,b),c)),则它的深度为____________,它的长度为____________。
7.7.二叉树是指度为2的____________________树。
一棵结点数为N的二叉树,其所有结点的度的总和是_____________。
8.8.对一棵二叉搜索树进行中序遍历时,得到的结点序列是一个______________。
对一棵由算术表达式组成的二叉语法树进行后序遍历得到的结点序列是该算术表达式的__________________。
9.9.对于一棵具有n个结点的二叉树,用二叉链表存储时,其指针总数为_____________个,其中_______________个用于指向孩子,_________________个指针是空闲的。
10.10.若对一棵完全二叉树从0开始进行结点的编号,并按此编号把它顺序存储到一维数组A中,即编号为0的结点存储到A[0]中。
(NEW)李春葆《数据结构教程》(C++语言描述)配套题库【名校考研真题+课后习题+章节题库+模拟试题】

D.1用C语言写的某单位的认识管理程序语言,2操作系统,3编译
程序 【答案】B 【解析】计算机系统的组成如下图所示:
其中,C语言写的某单位的认识管理程序语言属于应用程序,编译 程序属于语言处理程序。
3 假定下列指令已装入指令寄存器。则执行时不可能导致CPU从 用户态变为内核态(系统态)的是( )。[2015年联考真题]
5 下列说法中( )不是创建进程必须的。[上海交通大学考研真 题]
A.建立一个进程的进程表项 B.为进程分配内存 C.为进程分配CPU D.将进程表项放入就绪队列 【答案】C 【解析】进程刚被创建后,实际上是处于就绪状态的,所以不许为 进程分配CPU。
6 若系统S1采用死锁避免方法,S2采用死锁检测方法,下列叙述 中正确的是( )。[2015年联考真题]
4 下列选项中会导致进程从执行态变为就绪态的事件是( )。 [2015年联考真题]
A.执行P(wait)操作 B.申请内存失败 C.启动I/0设备 D.被高优先级进程抢占 【答案】D 【解析】D项,被高优先级进程抢占,进程会由执行态变为就绪 态。ABC三项,程序由于缺少资源而由执行态转为阻塞态。
目录
第一部分 名校考研真题 一、选择题 二、综合应用题
第二部分 课后习题 第1章 绪 论 第2章 线性表 第3章 栈和队列 第4章 串 第5章 数组和广义表 第6章 树和二叉树 第7章 图 第8章 查 找 第9章 内排序 第10章 外排序 第11章 数据结构和STL
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
、选择题1.某内排序方法的稳定性是指()。
【南京理工大学1997—、10(2分)】A.该排序算法不允许有相同的关键字记录B .该排序算法允许有相同的关键字记录C.平均时间为0(nlogn )的排序方法D .以上都不对5 .下列排序方法中,哪一个是稳定的排序方法?()【北方交通大学2001一、8(2分)]A.直接选择排序B .二分法插入排序C .希尔排序D .快速排序6 .若要求尽可能快地对序列进行稳定的排序,则应选(A .快速排序B.归并排序C.冒泡排序)。
【北京邮电大学2001一、5(2分)】7 .如果待排序序列中两个数据元素具有相同的值,在排序前后它们的相互位置发生颠倒,则称该排序算法是不稳定的。
()就是不稳定的排序方法。
【清华大学1998一、3(2分)】A.起泡排序B .归并排序C.Shell 排序D .直接插入排序E .简单选择排序8 .若要求排序是稳定的,且关键字为实数,则在下列排序方法中应选()排序为宜。
A.直接插入B.直接选择C.堆D.快速E.基数【中科院计算所2000-5(2分)】9 .若需在O (nlog 2n )的时间内完成对数组的排序,且要求排序是稳定的,则可选择的排序方A.快速排序B.堆排序C.归并排序D.直接插入排序【中国科技大学1998二、4(2分)】【中科院计算所1998二、4(2分)】10 .下面的排序算法中,不稳定的是()【北京工业大学1999一、2(2分)】A.起泡排序B.折半插入排序C.简单选择排序D.希尔排序E.基数排序F.堆排序。
11 .下列内部排序算法中:【北京工业大学2000—、1(10分每问2分)】A.快速排序B.直接插入排序C.二路归并排序D.简单选择排序E.起泡排序F.堆排序(1)其比较次数与序列初态无关的算法是()(2)不稳定的排序算法是()(3)在初始序列已基本有序(除去n 个元素中的某k 个元素后即呈有序,k<<n )的情况下,排序效率最高的算法是()(4)排序的平均时间复杂度为O (n?logn )的算法是()为O (n?n )的算法是()第10章排序2.下面给出的四种排序法中()10(2分)】排序法是不稳定性排序法。
【北京航空航天大学1999 A.插入B.冒泡C. .路归并D.堆积3.下列排序算法中,其中( A.堆排序,冒泡排序)是稳定的。
【福州大学1998—、3(2分)]B.快速排序,堆排序C.直接选择排序,归并排序4.稳定的排序方法是()A.直接插入排序和快速排序 D.归并排序,冒泡排序 【北方交通大学2000二、3(2分)】 B .折半插入排序和起泡排序 C.简单选择排序和四路归并排序 D .树形选择排序和shell 排序12.排序趟数与序列的原始状态有关的排序方法是()排序法。
【北京航空航天大学1999一、9(2分)】.插入 B. 选择 C. 冒泡 D.13. 卜面给出的四种排序方法中,排序过程中的比较次数与排序方法无关的是。
A.选择排序法B.插入排序法C.快速排序法D. 快速()堆积排序法14.【北京航空航天大学2000—、10(2分)】对下列四种排序方法,在排序中关键字比较次数同记录初始排列无关的是A.直接插入【南京理工大学B.2000二分法插入 C. 快速排序 D.()归并排序、7(1.5分)】15.在下列排序算法中六、4⑵】A.直接插入排序,哪一个算法的时间复杂度与初始排序无关B.气泡排序C.16.比较次数与排序的初始状态无关的排序方法是(2分)]快速排序()A.直接插入排序17.数据序列(8,序后的结果。
A.选择排序【合肥工业大学18.数据序列(2,的结果。
A.快速排序9,B.起泡排序10,4,5,6,20,B.199914,B.()。
【北京理工大学2001D.直接选择排序2000 二、2冒泡排序、3(2分)】C..快速排序D.简单选择排序只能是下列排序算法中的()的两趟排插入排序 D. 堆排序9,8,10,6,20)只能是下列排序算法中的)的两趟排序后2000冒泡排序C.一、3(2分)】选择排序 D. 插入排序19.对一组数据(84,47,25,15,21)排序,数据的排列次序在排序的过程中的变化为(1)8447251521 4784则采用的排序是(A.选择20.对序列{15,9,1547258421 (3)1521 258447 (4)152125)B.782020,7,15};则采用的是(A.选择B.【南京理工大学冒泡 C.1997一、2快速(2分)]D.-1,4}进行排序,进行一趟后数据的排列变为)排序。
【南京理工大学1998快速21.若上题的数据经一趟排序后的排列为C.{9, 15希尔 D.插入{4,9,-1,8,、8(2分)】冒泡7,8,20,-1,4},则采用的是(排序。
A.选择B. 分)】22 .下列排序算法中A.快速排序B. (2分)]23 .下列排序算法中A.选择I()shell()B.2001C.直接插入D. 冒泡【南京理工大学1998一、9(2不能保证每趟排序至少能将一个元素放到其最终的位置上。
排序C.堆排序D.冒泡排序【合肥工业大学2001排序在一趟结束后不一定能选出一个元素放在其最终位置上。
冒泡 C. 归并D.、7(1.5分)】【哈尔滨工业大学24.下列序列中,()是执行第一■趟快速排序后所得的序列。
堆2001二、4(2分)】【福州大学1998(2分)】A.[68,11,18,69][23,93,73]B.[68,11,69,23][18,93,73]C.[93,73][68,11,69,23,18]D.[68,11,69,23,18][93,73]25 .有一组数据(15,9,7,8,20,-1,7,4)用快速排序的划分方法进行一趟划分后数据的排序为()(按递增序)。
【南京理工大学1996一、4(2分)】A.下面的B,C,D都不对。
B.9,7,8,4,-1,7,15,20C.20,15,8,9,7,-1,4,7D.9,4,7,8,7,-1,15,20记录为基准得到的一次划分结果为(【燕山大学2001一、4(2分)】26 .一组记录的关键码为(46,79,56,38,40,84),则利用快速排序的方法,以第一个A.(38,40,46,56,79,84)B.(40,38,46,79,56,84)C.(40,38,46,56,79,84)D.(40,38,46,84,56,79)27 .在下面的排序方法中,辅助空间为O(n)的是()。
【南京理工大学1999一、17(1分)]A.希尔排序B.堆排序C.选择排序D.归并排序28 .下列排序算法中,在待排序数据已有序时,花费时间反而最多的是()排序。
A,冒泡B.希尔C.快速D.堆【南京理工大学2001一、12(1.5分)】29 .下列排序算法中,在每一趟都能选出一个元素放到其最终位置上,并且其时间性能受数据初始特性影响的是:()。
A.直接插入排序B.快速排序C.直接选择排序D.堆排序30 .对初始状态为递增序列的表按递增顺序排序,最省时间的是()算法,最费时间的是()算法。
A.堆排序B.快速排序C.插入排序D.归并排序【南开大学2000一、5]31 .就平均性能而言,目前最好的内排序方法是()排序法。
【西安电子科技大学1998一、9(2分)】A.冒泡B.希尔插入C.交换D.快速32.如果只想得到1000个元素组成的序列中第5个最小元素之前的部分排序的序列,用()方法最快。
A.起泡排序B.快速排列C.Shell排序D.堆排序E.简单选择排序【清华大学1998—、2(2分)】类似本题的另外叙述有:(1)设有5000个无序白^元素,希望用最快的速度挑选出其中前十个最大的元素,在以下的排序方法中()最好?为什么?【山东工业大学1995二、4(3分)】A.快速排序B.堆排序C.归并排序D.基数排序E.SHELL#序(2)数据表中有10000个元素,如果仅要求求出其中最大的10个元素,则采用()算法最节省时间。
A.堆排序B.希尔排序C.快速排序D.直接选择排序【北京理工大学2000一、5(2分)](3)设有1000个无序的元素,希望用最快的速度挑选出其中前十个最大的元素,在以下的排序方法中采用哪一种最好?()【东北大学1999一、5(3分)】A.快速排序B.归并排序C.堆排序D.基数排序E.shell排序33.在文件“局部有序”或文件长度较小的情况下,最佳内部排序的方法是()A.直接插入排序B.冒泡排序C.简单选择排序【山东工业大学1995二、1(2分)】类似本题的另外叙述有:(1)在文件"局部有序”或文件长度较小的情况下,最佳内部排序的方法是(A,直接插入排序B,冒泡排序C,简单选择排序D.快速排序【山东大学20012(1分)】(2)在待排序的元素序列基本有序的前提下,效率最高的排序方法是(2000二、6】A.插入排序B.选择排序C.快速排序D.归并排序34 .下列排序算法中,()算法可能会出现下面情况:在最后一趟开始之前,所有元素都不在其最终的位置上。
【南开大学2000一、4】【西北大学2001二、1】A.堆排序B.冒泡排序C.快速排序D.插入排序35 .下列排序算法中,占用辅助空间最多的是:()【厦门大学2002五、2(8分)】A.归并排序B.快速排序C.希尔排序D.堆排序36 .从未排序序列中依次取出一个元素与已排序序列中的元素依次进行比较,然后将其放在 已排序序列的合适位置,该排序方法称为()排序法。
【北京航空航天大学1999一、8(2分)]A.插入B.选择C.希尔D.二路归并37.在排序算法中,每次从未排序的记录中挑出最小(或最大)关键码字的记录,加入到已排序记录的末尾,该排序方法是()。
【中山大学1999一、11]A.选择B.冒泡C.插入D.堆)。
【武汉大学 38 .用直接插入排序方法对下面四个序列进行排序()。
A.94,32,40,90,80,46,21,69BC.21,32,46,40,80,69,90,94D【北方交通大学2001一、15(2分)】39 .直接插入排序在最好情况下的时间复杂度为(分)】A.O (logn )B.O (n )C(由小到大),元素比较次数最少的是 32,40,21,46,69,94,90,80 90,69,80,46,21,32,94,40 )【北京邮电大学1999一、5(2 O(n*logn)D.O(n 2) 40.若用冒泡排序方法对序列A.3B.10C.15分)】 类似本题的另外叙述有:(1)若用冒泡排序对关键字序列 键字比较总次数是() A.10B.15C.21 {10,14,26,29,41,52} D.25 {18,16,14,12,10,8}, 【北京工商大学2001D.34从大到小排序,需进行()次比较。