排序的总结

来源:互联网 发布:java获取url返回值 编辑:程序博客网 时间:2024/05/16 07:50

总结下排序的经验:

排序算法有N多,想全部掌握不太实际,先分类别吧,稳定排序和不稳定排序,

稳定排序包含了:bubble sort(冒泡排序)、insertion sort(插入排序)、merge sort(归并排序)、bucket sort(桶排序)、radix sort(基数排序)、binary tree sort(二叉树排序)、library sort(图书馆排序)

不稳定排序包含了:selection sort(选择排序)、shell sort(希尔排序)、heapsort(堆排序)、quicksort(快速排序)

时间复杂度:bubble sort和insertion sort最差和平均都是O(n^2)最好是O(n);merge sort是O(nlog(n));bucket sort是O(n);radix sort是O(Kn);binary tree sort是(nlog(n));library sort是O(nlog(n));selection sort都是O(n^2);shell sort是O(nlog(n));heap sort是O(nlog(n));quick sort 平均是O(nlog(n))最坏是O(n^2)。

排序的选择:n较小,可以直接插入排序,选择排序;n为有序,直接插入,冒泡排序;n较大就应考虑时间复杂度,快速排序,堆排序,归并排序

0 0
原创粉丝点击