Unverified Commit 687e5b7f authored by ir1d's avatar ir1d Committed by GitHub
Browse files

Merge pull request #469 from 24OI/Ir1d-patch-1

feat: update sort.md
parents 25d94b72 250d381c
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -148,3 +148,13 @@ std::sort(a, a + n);

<http://atool.org/sort.php> ATool 的排序演示动画  
<https://www.geeksforgeeks.org/counting-sort/>   

## 排序的应用

借助排序,我们可以降低求解问题所需要的时间复杂度。

考虑一个数列,你需要检查其中是否有元素相等。

一个朴素的做法是检查每一个数对,并判断这一对数是否相等。时间复杂度是 $O(n^2)$。

我们不妨先对这一列数排序,之后不难发现:如果有相等的两个数,它们一定在新数列中处于相邻的位置上。这时,只需要 $O(n)$ 地扫一遍新数列了。总的时间复杂度是排序的复杂度($O(nlogn)$)。