归并排序算法在排序过程中,将待排序数组分为两个大小相同的子数组,分别对两个子数组采用归并排序算法进行排序,排好序的两个子数组采用时间复杂度为0(n)的过程合并为一个大数组。

根据上述描述,归并排序算法采用了()算法设计策略。归并排序算法的最好和最坏情况下的时间复杂度为()。

问题1:

A.分治

B.动态规划

C.贪心

D.回溯


问题2:

C、O(nlgn),O(nlgn)

请先 登录 后评论

1 个回答

亚里士德
擅长:互联网

知识点:旁边的相似问题。

第一空选A,书上介绍分治法时说过这个归并排序(8.3.3章节,分治法的典型实例)。

第二空:选C。归并排序在3.6.6章节,第173页。经常考的快速排序在最坏的情况下才会退化到O(n²)。


归并排序就是不断的对半分,分到一定程度之后(比如最后只剩两个了),再进行比较。谁和谁对半分的要记住,里面的更短的比较完了再比较这对半分的。比较过程就是两条数组的数据依次一个一个和对方进行比较,比较一个就少一个,然后放到一个新的数组中即可(有的资料把这个行为叫二路归并)。


其他选项请看文章:https://www.z21.org/article/12

请先 登录 后评论