(1)稳定性:
在排序之前,如果关键字Ki==Kj,并且i<j,称关键字Ki在Kj之前;如果在排序之后,Ki依然在Kj之前,则为稳定排序,反之为不稳定排序
稳定排序有:冒泡排序,插入排序,归并排序,基数排序。
在排序之前,如果关键字Ki==Kj,并且i<j,称关键字Ki在Kj之前;如果在排序之后,Ki依然在Kj之前,则为稳定排序,反之为不稳定排序
稳定排序有:冒泡排序,插入排序,归并排序,基数排序。
不稳定排序有:快速排序,希尔排序,简单选择排序,堆排序。
(2)算法的时间复杂度与初始排序无关:
选择排序,堆排序,归并排序,基数排序在平均情况,最坏情况,最好情况下的时间复杂度均一致,与初始排序无关。
口诀:
堆归选基均不变(运行时间不发生变化,与初始状态无关)
(3)时间复杂度