C語言 排序大全

插入排序
插入排序雖然不是最有效的排序方法,但它簡單,並且不需要額外的存儲空間。其最佳應用場景是對一個小的數據集合進行遞增排序。
快速排序
在一般情況下,一致認爲快速排序是最好的一種排序算法,而且不需要額外的存儲空間。其最佳應用場合是應用於大型數據集。
歸併排序
歸併排序基本上與快速排序算法的性能相同,但它需要使用兩倍於快速排序的存儲空間。而具有諷刺意味的是,其最佳應用場合是在超大數據集中,因爲歸併排序的原理就是對原始的亂序數據不斷進行對半分割。
計數排序
計數排序是一種穩定的線性時間排序算法,當知道數據集中整數的最大值的情況下會經常用到此算法。它主要用來實現基數排序。
基數排序
基數排序是逐位對元素進行排序的線性時間排序算法。基數排序適用於固定大小的元素集,並且其中的元素易於分割,且易於用整數表示。
二分查找
在一個不期望頻繁地進行插入和刪除操作的有序數據集中,使用二分查找非常高效。因爲通常排序的代價大於搜索的代價。當數據集不變時,二分搜索的應用效果最佳。

次序統計
尋找集合中第i小的元素。一個簡單的方法就是,一旦數據集排好序,取出第i個元素即可。
二分搜索
一種有效的查找方法,它依賴於有序數據集。二分搜索不斷地將數據集從中分段,並檢查每段中心位置的元素,從而最終找到目標元素。

發佈了19 篇原創文章 · 獲贊 12 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章