归并排序算法在排序过程中,将待排序数组分为两个大小相同的子数组,分别对两个子数组采用递归排序算法进行排序,排好序的两个子数组采用时间复杂度为O(n)的过程合并为一个大数组。根据上述描述,归并排序算法采用了( )算法设计策略。(软件设计师2021下半年)
A: 分治
B: 动态规划
C: 贪心
D: 回溯
A: 分治
B: 动态规划
C: 贪心
D: 回溯
举一反三
- 在归并排序算法中,若每次分解将长度为 n的数组分为四段长度为 n/4的子数组进行递归,此时归并排序算法的时间复杂度为____
- 快速排序算法在排序过程中,在待排序数组中确定一个元素为基准元素,根据基准元素把待排序数组划分成两个部分,前面一部分元素值小于等于基准元素,而后面一部分元素值大于基准元素。然后再分别对前后两个部分进一步进行划分。根据上述描述,快速排序算法采用了()算法设计策略。 A: 分治 B: 动态规划 C: 贪心 D: 回溯
- 在归并排序算法中,若每次分解将长度为 n 的数组分为四段长度为 n/4 的子数组进行递归,此时归并排序算法的时间复杂度为____ 未知类型:{'options': ['', '', '', ''], 'type': 102}
- 在归并排序中,合并两个已经排好序的子数组所需要的时间复杂度是O(n)。( )
- 以下哪个排序算法对只有一两个元素乱序的数组排序性能最好? A: 快速排序 B: 堆排序 C: 归并排序 D: 插入排序