返回题库

三种排序算法及复杂度

Sorting Algorithms

专题
Algorithmic Programming / 算法编程
难度
L4

题目详情

nn 个互不相同的值 A1,,AnA_1,\ldots,A_n,解释三种排序算法及其时间/空间复杂度。

Explain 3 sorts for nn distinct values A1,,AnA_1,\ldots,A_n with complexities.

解析

示例:

  1. 插入排序:逐个插入已排序前缀。时间 O(n2)O(n^2),空间 O(1)O(1)

  2. 归并排序:分治+合并。时间 O(nlogn)O(n\log n),空间 O(n)O(n)

  3. 快速排序:选 pivot 分区递归。平均 O(nlogn)O(n\log n),最坏 O(n2)O(n^2)


Original Explanation

  1. Insertion sort: place each new item into the correct position in the sorted prefix. O(n2)O(n^2) time, O(1)O(1) space.
  2. Merge sort: divide & conquer, merges sublists. O(nlogn)O(n\log n) time, O(n)O(n) space.
  3. Quick sort: pick pivot, partition, recurse. Average O(nlogn)O(n\log n), worst O(n2)O(n^2).