选择排序(堆排序)
选择排序的典型算法有简单选择排序和堆排序。简单选择排序是最简单的排序算法。堆排序在最好、最坏和平均情况下的算法复杂度都是稳定的。
简单选择排序
算法思想
C语言实现
void SelectSort(int* a, int n){
for(int i=0;i<n;i++){
int min = i;
for(int j=i;j<n;j++){
if(a[min]>a[j])
min = j;
}
int temp = a[i];
a[i] = a[min];
a[min] = temp;
}
}时间复杂度
空间复杂度
稳定性
堆排序
算法思想
建堆
调整
排序
C语言实现(大根堆)
调整的递归实现
调整的非递归实现
建堆
堆排序
时间复杂度
空间复杂度
稳定性
Last updated