排序:
稳定性的用处:当排序的数值有关联的信息,最好可以保持在有新元素插入时,以前排序相等的两元素顺序不要变化,比如音乐排行榜。
1.插入排序
O(N^2) 稳定排序
2.希尔排序
不稳定
2.1 希尔增量
H t=【N/2】 H k=【H k+1/2】 最坏运行时间O(N^2)
2.2 Hibbard增量
最坏运行O(N^ 3/2)
2.1 希尔增量
H t=【N/2】 H k=【H k+1/2】 最坏运行时间O(N^2)
2.2 Hibbard增量
最坏运行O(N^ 3/2)
3.归并排序
稳定排序 O(NlogN)
4.快速排序
不稳定
枢纽元的选择
枢纽元的选择
5.堆排序(优先队列)
不稳定
O(NlogN)
使用一个附加的数组,存储需求增加一倍。
使用最少的比较次数,是java泛型排序所使用的算法。
O(NlogN)
使用一个附加的数组,存储需求增加一倍。
使用最少的比较次数,是java泛型排序所使用的算法。
6.冒泡排序
稳定排序