把一堆资料或者记录根据某一个键值由小到大或由大而小.pptVIP

  • 3
  • 0
  • 约7.21千字
  • 约 59页
  • 2020-06-12 发布于湖北
  • 举报

把一堆资料或者记录根据某一个键值由小到大或由大而小.ppt

第六章 排序 排 序 6 排序 把一堆資料或者記錄根據某一個鍵值由小到大或由大而小來排列 內部排序 在主記憶體中將資料依照某一個順序排列 外部排序 要排序的資料是在檔案中 為什麼要排序? 循序搜尋法 一串未經排列的數列:5, 96, 21, 67, 55, 87, 12, 30 如果我們想找到21的話,我們就得比對3次 如果要找到12的話,就得比對7次 如果是要確定25並不存在於此數列中則要比對9次 將整個數列比對完後的下一次才會發現已經沒有資料可以比對了 欲搜尋數字的大小與比對的次數無關 為什麼要排序? 如果我將整個數列先經過排序 數列變成:5, 12, 21, 30, 55, 67, 87, 96 可以使用二元搜尋 搜尋時間由O(n)降低為O(nlogn) 穩定排序與不穩定排序 假設我們的原始資料中有兩筆或兩筆以上的資料具有相同的鍵值 當我們做完排序後,這兩筆資料仍然保持它們原先的順序而沒有互換時,就稱為穩定(stable)排序 反之,則稱為不穩定(unstable)排序 穩定排序與不穩定排序 泡沫法排序法 (Bubble Sort) for(i從0到n-2){ 將第0個元素到第n-i-1個元素兩兩比較{ if(前一個元素下一個元素){ 互相交換位置; }

文档评论(0)

1亿VIP精品文档

相关文档