排序算法
Preke
这个作者很懒,什么都没留下…
展开
-
插入排序和归并排序
1. 插入排序:O(n2)O(n^{2})void InsertSort(int* a, int n) { int j, k; for (int i = 1; i < n; i ++) { j = i - 1; k = a[i]; //防止a[i]在下面的操作中被覆盖掉 while(j >= 0 && k < a[j]) {原创 2016-08-12 18:05:19 · 544 阅读 · 0 评论 -
快速排序
有两个版本,主要是Partition的思路不同,分别实现: 1. 《算法导论》的版本: 就是Partition时,比较的时候,主元的位置不变,只是在前面扫过一次,把比主元大的放在后面,比主元小的放在前面。这样的复杂度一看很明显就是 O(nlog(n))O(nlog(n))int Partition(int* a, int low, int high) { int pivot = a[h原创 2016-08-14 11:30:57 · 331 阅读 · 0 评论