排序算法

quguiliang 13年前發布 | 2K 次閱讀

排序算法

所謂排序,就是使一串記錄,按照其中的某個或某些關鍵字的大小,遞增或遞減的排列起來的操作。

目錄

簡介

分類

排列算法列表

排序的算法

排序算法源代碼及復雜度分析

簡介

分類

排列算法列表

排序的算法

排序算法源代碼及復雜度分析

展開

編輯本段簡介

編輯本段分類

  在計算機科學所使用的排序算法通常被分類為:

  計算的復雜度(最差、平均、和最好表現),依據串列(list)的大小(n)。一般而言,好的表現是O(n log n),且壞的行為是Ω(n2)。對于一個排序理想的表現是O(n)。僅使用一個抽象關鍵比較運算的排序算法總平均上總是至少需要Ω(n log n)

  記憶體使用量(以及其他電腦資源的使用)

  穩定度:穩定排序算法會依照相等的關鍵(換言之就是值)維持紀錄的相對次序。也就是一個排序算法是穩定的,就是當有兩個有相等關鍵的紀錄RS,且在原本的串列中R出現在S之前,在排序過的串列中R也將會是在S之前。

  一般的方法:插入、交換、選擇、合并等等。交換排序包含冒泡排序bubble sort)和快速排序quicksort)。選擇排序包含shaker排序和堆排序heapsort)。

 本文由用戶 quguiliang 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!