问题 单项选择题 共用题干题

对n个基本有序的整数进行排序,若采用插入排序算法,则时间和空间复杂度分别为(1);若采用快速排序算法,则时间和空间复杂度分别为(2)。

空白(1)处应选择()

A.O(n2)和O(n)

B.O(n)和O(n)

C.O(n2)和O(1)

D.O(n)和O(1)

答案

参考答案:D

解析:本题考查算法分析的基础知识。排序和查找是基本的计算问题,存在很多相关的算法,不同的算法适用于不同的场合。不同的数据输入特点相同的算法也有不同的计算时间。若数据基本有序,对插入排序算法而言,则可以在近似线性时间内完成排序,即O(n);而对于快速排序而已,则是其最坏情况,需要二次时间才能完成排序,即O(n)。两个算法在排序时仅需要一个额外的存储空间,即空间复杂度均为常数时间复杂度O(1)。

问答题
问答题 简答题