在计算机科学中,数据结构是一种组织和存储数据的方法。它决定了程序如何访问和操作数据,并且在内存优化中起着至关重要的作用。
《数据结构》第08章在线测试 剩余时间: 48:55 答题须知:1、本卷满分20分。 2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。 3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。 第一题、单项选择题(每题1分,5道题共5分) 1、下列方法中,___A_____算法的时间复杂度为O(n^2)。 A、直接插入排序 B、希尔排序 C、快速排序 D、堆排序 2、在待排序的元素序列基本有序的前提下,效率最高的排序方法是______A_。 A、直接插入排序 B、起泡排序 C、快速排序 D、堆排序 3、在下列排序方法中,平均情况下占用内存量最大的是___A____方法。 A、快速排序 B、插入排序 C、冒泡排序 D、堆排序 4、下列序列中,____A____是堆。 A、{12,35,20,60,40,30} B、{100,85,120,38,10,9,36} C、{1,5,6,24,7,3,4 } D、{38,24,15,20,30,46} 5、在下列排序方法中,在待排序的数据有序时, 花费时间反而最多的是__C_____。 A、堆排序 B、起泡排序 C、快速排序 D、插入排序 第二题、多项选择题(每题2分,5道题共10分) 1、下列方法中,___BD_____算法的时间复杂度为O(n^2)。 A、希尔排序 B、冒泡排序 C、快速排序 D、直接插入排序 2、下列方法中,__BC______算法的时间复杂度为O(nlogn)。 A、希尔排序 B、堆排序 C、快速排序 D、简单选择排序 E、直接插入排序 3、下列排序方法中,空间复杂度为O(1)的排序方法有____ACD____。 A、堆排序 B、快速排序 C、直接插入排序 D、冒泡排序 4、下列排序方法中,在最坏情况下算法的时间复杂度为O(n^2)的有_BCD_______。 A、堆排序 B、快速排序 C、希尔排序 D、冒泡排序 5、下列排序方法中,不稳定的排序方法有___ABC_____。 A、希尔排序 B、快速排序 C、堆排序 D、直接插入排序 第三题、判断题(每题1分,5道题共5分) 1、快速排序的速度在所有排序方法中是最快的,而且所需的附加空间也最少。 正确F 错误 2、在一个大顶堆中,最小元素不一定在最后。 正确T 错误 3、对一个堆按层次遍历,一定能得到一个有序序列。 正确F 错误 4、由于希尔排序的最后一趟与直接插入排序过程相同,所以前者一定比后者花费的时间多。 正确F 错误 5、在堆排序过程中,在输出一个根之后的调整过程中,“临时根”结点的值将会最终被放到“叶子结点”上。 正确F 错误
您好,您可以用双端堆。 只有十万个数据而已,数据量并不大。 不管是双端堆、红黑树、还是采用两个堆(一个最大堆一个最小堆),效率相差没多少。 建树或建堆的复杂度都是O(nlogn),等于排序的复杂度,并且删除都是O(logn)。 如果不用插入数据的话,可以用下面简单的方法先对数组排序。 然后设置两个位置,int min = 0, max = n - 1;其中n为元素个数,分别表示最小值和最大值的位置。 获取最大值是ary[max],获取最小值是a[min]。 删除最大值是max--,删除最小值是min++。 初始化复杂度O(nlogn),查找和删除都是O(1)
数据结构主要的内排序方法有冒泡排序,选择排序,插入排序,快速排序,归并排序。 按照排序过程设计的存储器的不同分为内部排序与外部排序。 内部排序完全在内存中进行,适合数据量不太大的数据元素的排序。 外部排序需要访问外部存储器,待排序的数据元素非常多,以至于它们必须存储在外部存储器上。 如果对任意一组数据元素序列,使用排序算法排序后,相同关键字之间的前后位置关系在排序前后保持一致,则该排序算法是稳定的。 内排序的过程是一个逐步扩大记录的有序序列长度的过程。 基于不同的“扩大”方法,内排序方法可分为插入
本文地址:http://www.hyyidc.com/article/36734.html