题目

试题四

    阅读下列说明,回答问题1至问题3,将解答填入对应栏内。

【说明】

    快速排序是一种典型的分治算法。采用快速排序对数组A[p..r]排序的3个步骤如下。

    1.分解:选择一个枢轴(pivot)元素划分数组。将数组A[p..r]划分为两个子数组 (可能为空)A[p..q-1]和A[q+1..r],使得A[q]大于等于A[p..q-1)中的每个元素,小于 A[q+1..r]中的每个元素。q的值在划分过程中计算。

    2.递归求解:通过递归的调用快速排序,对子数组A[p..q-1]和A[q+1..r]分别排序。

    3.合并:快速排序在原地排序,故不需合并操作。


【问题2】

    ( )假设要排序包含n个元素的数组,请给出在各种不同的划分情况下,快速排序的时间复杂度,用O记号。最佳情况为  ( )  ,平均情况为  ( )  ,最坏情况为  ( )  。

    ( )假设要排序的n个元素都具有相同值时,快速排序的运行时间复杂度属于哪种情况?  ( )  。(最佳,平均、最坏)

作答
本题暂不支持做答,请点击“解析“以对比解题思路
答案/解析
查看试卷及答案