简述归并排序算法和快速排序算法的分治方法。

题目
问答题
简述归并排序算法和快速排序算法的分治方法。
参考答案和解析
正确答案: 1)归并排序的分治是将数组从中间分开,分别对前后来那个部分进行排序,将排序后的两个数组合并成整个数组的排序。这样分治为递归过程,直到一个元素时返回。
2)快速排序的分治是选取分割元素,以分割元素为界,将数组分成两部分,一部分小于分割元素,一部分大于分割元素,分别对两部分排序。
解析: 暂无解析
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

归并排序采用的算法设计方法属于( )。

A.归纳法

B.分治法

C.贪心法

D.回溯方法


正确答案:B
解析:以2一路归并排序为例进行说明。2一路归并是指将两个有序序列合并成一个有序序列,其基本过程为;从两个序列中各取一个元素,进行比较,输出较小的元素,从较小元素所在序列取下一个元素,与未输出的那个元素比较,输出较小者。依此类推,直到输出序列包含了两个初始有序序列的全部元索。对于一个初始无序的序列,可以先将其等分为两个无序的子序列,对这两个子序列再次二分,重复该过程,直到分出的子序列中仅包含一个元素时(一个元素自然是有序的)为止,然后在反复进行2一路归并的过程,最后完成排序。

第2题:

下列排序方法中,最好情况下,时间复杂度为O(n)的算法是______。

A.选择排序

B.归并排序

C.快速排序

D.直接插入排序


正确答案:D
解析:各种排序算法性能比较如下:

第3题:

快速排序算法是基于分治策略的一种排序算法。()

此题为判断题(对,错)。


正确答案:√

第4题:

对N个数排序,最坏情况下时间复杂度最低的算法是()排序算法

A、插入

B、冒泡

C、归并

D、快速


正确答案:C

第5题:

下列排序算法中,其中()是稳定的。

A、堆排序,冒泡排序

B、快速排序,堆排序

C、直接选择排序,归并排序

D、归并排序,冒泡排序


参考答案:D

第6题:

下面哪种排序算法是稳定的()

A.快速排序

B.堆排序

C.归并排序

D.选择排序


正确答案:C

第7题:

就排序算法所用的辅助空间而言,堆排序、快速排序、归并排序的关系是()。A、堆排序<快速排序&l

就排序算法所用的辅助空间而言,堆排序、快速排序、归并排序的关系是()。

A、堆排序<快速排序<归并排序

B、堆排序<归并排序<快速排序

C、堆排序>归并排序>快速排序

D、堆排序>快速排序>归并排序


参考答案:A

第8题:

●以关键字比较为基础的排序算法在最坏情况下的计算时间下界为O(nlogn)。下面的排序算法中,最坏情况下计算时间可以达到O(nlogn)的是 (33) ;该算法采用的设计方法是 (34) 。

(33) A.归并排序

B.插入排序

C.选择排序

D.冒泡排序

(34) A.分治法

B.贪心法

C.动态规划方法

D.回溯法


正确答案:A,A
【解析】归并排序(merge sort),是把待排序的文件分成n个已排序的子文件,将这些文件合并得到完全排序的文件。n个记录的平均运算次数是O(nlog2n),所需的辅助存储空间是O(n),该算法采用的设计方法是分治法。

第9题:

若排序前后关键字相同的两个元素相对位置不变,则称该排序方法是稳定的。下列排序算法中,有(14)种排序算法是稳定的:归并排序、快速排序、希尔排序、堆排序、基数排序、直接插入排序、冒泡排序、直接选择排序。

A.3

B.4

C.5

D.6


正确答案:B
解析:此题考察考生对稳定排序概念的理解。稳定排序算法是指在排序过程中两个排序关键字相同的元素,在排序的过程中位置不发生变化。例如对数列:62,42,12,36,4,12,67进行排序时,第一个12在排序完毕以后要排在第二个12的前面,这就是稳定的排序。有些人可能会发出疑问:既然都是12,为什么一定要保证它的顺序呢?举一个简单的例子:如果组织一次有奖答题活动,选手在电脑上答完题以后,就直接提交数据,最后按答题得分奖励前:100名参赛选手,这样会出现一个问题,即如果同时有10个人并列第100名,而我们只能给一个人发奖,到底给谁发呢?最合理的判断标准是给先提交答案的人发奖。这样稳定排序就可以用上了。以上的这些排序算法中,归并排序、基数排序、直接插入排序和冒泡排序是稳定的,其它的都不稳定。

第10题:

5 写出下列算法的时间复杂度。

(1)冒泡排序;

(2)选择排序;

(3)插入排序;

(4)快速排序;

(5)堆排序;

(6)归并排序;


正确答案:
 

更多相关问题