标签: 排序

3 篇文章

线性时间排序(计数排序、基数排序、桶排序)
多少排序算法都是基于对序列中的元素进行比较操作来完成排序的,称这些排序算法为比较排序。如:快速排序(平均时间复杂度[latex]\Theta(n\lg{n})[/latex],最坏时间复杂度[latex]\Omega(n\lg{n})[/latex]),随机快速排序([latex]\Theta(n\lg{n})[/latex]),合并排序([lat…
快速排序
原始QuickSort算法: 算法平均复杂度:[latex]\Theta(n\lg{n})[/latex](一般情况下) 算法在最坏情况下的复杂度:[latex]\Theta(n^2)[/latex](在输入序列为排列好的数的情况下) 在实际应用中,快速排序算法通常比归并排序算法快三倍左右。 // 数组划分子程序 int Partition(int…
插入排序
#include #include using namespace std; // 插入排序 void InsertSort(vector &data) { for (int i=1; i!=data.size(); ++i) { int key = data[i]; // 暂存第i个元素的值。 int j = i-1; while (j&…