亚洲精品一二区_国产黄色片网站_99久久久成人国产精品_蜜臀网_国产精品一区二区三区免费_成人av中文字幕_91精品国产欧美一区二区成人

當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 講師博文 > 數(shù)據結構排序算法有哪些常用的

數(shù)據結構排序算法有哪些常用的 時間:2018-01-11      來源:未知

首先對排序有個宏觀的了解, 排序的思想是這樣的,將有序的記錄序列(或稱)按照一定的關鍵字,將一個序列排列成想要得到的一個新的序列。基本上現(xiàn)在的排序可以區(qū)分以下幾類:內排序和外排序,穩(wěn)定排序和不穩(wěn)定排序。

內排序:整個排序過程,所有元素調到內存中進行的排序。內排序效率用比較次數(shù)來衡量。

外排序:數(shù)據量較大的情況下,需要借助外部存儲設備才能完成排序。外排序用讀/寫外存的次數(shù)來衡量效率,塊與塊之間不能保證有序。

排序的性能比較基本的是其穩(wěn)定性,之后就是時間復雜度,空間復雜度了。

穩(wěn)定排序:對于相的元素來說,在排序之前和之后的順序是一樣的。

不穩(wěn)定排序:對于相同的元素來說,在排序之前和之后順序發(fā)生了變化。

根據使用的實際情況,用到內排序的還是較多,所以重點討論幾種內排序。幾種常見的排序算法大概有以下圖中所示幾種:

數(shù)據結構排序算法

那么,舉幾個例子,講解下其應用的相關排序算法。

(一)冒泡排序

思想:反復掃描待排序序列,在掃描的過程中順次比較相鄰的兩個元素的大小,若逆序就交換位置。第一趟,從第一個數(shù)據開始,比較相鄰的兩個數(shù)據,(以升序為例)如果大就交換,得到一個大數(shù)據在末尾;然后進行第二趟,只掃描前n-1個元素,得到次大的放在倒數(shù)第二位。以此類推,后得到升序序列。如果在掃描過程中,發(fā)現(xiàn)沒有交換,說明已經排好序列,直接終止掃描。所以多進行n-1趟掃描。

例:設記錄key集合k={50,36,66,76,95,12,25,36},排序過程如下:

數(shù)據結構排序算法

后排序結果為紅色背景的順序。

(二)簡單選擇排序

思想:第一趟時,從第一個記錄開始,通過n – 1次關鍵字的比較,從n個記錄中選出關鍵字小(大)的記錄,并和第一個(可以是后一個)記錄進行交換。第二趟從第二個記錄開始,選擇小(大)的和第二個記錄交換。以此類推,直至全部排序完畢。

例:設記錄key集合k={50,36,66,76,95,12,25,36},排序過程如下:

數(shù)據結構排序算法

(三)快速排序

思想:冒泡排序一次只能消除一個逆序,為了能一次消除多個逆序,采用快速排序。以一個關鍵字為軸,從左從右依次與其進行對比,然后交換,第一趟結束后,可以把序列分為兩個子序列,然后再分段進行快速排序,達到高效。

例:設記錄的key集合k={50,36,66,76,36,12,25,95},每次以集合中第一個key為基準的快速排序過程如下:

數(shù)據結構排序算法

(四)直接插入排序

思想:基本的插入排序,將第i個插入到前i-1個中的適當位置。

例: 設文件記錄的key集合k={50,36,66,76,95,12,25,36}(考慮到對記錄次key排序的情況,允許多個key相同。如此例中有2個key為36,后一個表示成36,以示區(qū)別),按直接插入排序方法對k的排序過程如下:k={50,36,66,76,95,12,25,36}

數(shù)據結構排序算法

上面呢,通過例題加圖示的方式,簡單的分析了其中的4個排序算法,是否理解了呢?好了,其他排序算法的分析我們以后有時間再講。當然,理解了這種套路的話,或者你來總結一下。

上一篇:音頻解碼的兩個標準AC97和IIS

下一篇:細說Linux內核目錄結構

熱點文章推薦
華清學員就業(yè)榜單
高薪學員經驗分享
熱點新聞推薦
前臺專線:010-82525158 企業(yè)培訓洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權所有 ,京ICP備16055225號-5京公海網安備11010802025203號

回到頂部

主站蜘蛛池模板: 国产欧美日韩视频免费61794 | 99九九国产精品免费视频 | 这里只有精品国产 | 久9热免费精品视频在线观看 | 久久亚洲国产成人亚 | 秋霞特色大片18入口私人高清 | 欧美日韩一区二区在线 | 亚洲成片 | 久99视频| 黑人又大又长 | 欧美日一区二区三区 | 欧美一区二区视频在线观看 | 精品欧美一区手机在线观看 | 人九九精品 | 久久这里只有精品6 | 日本中文字幕乱理伦片 | 天天看天天做 | 国产又粗又猛又爽视频 | 蜜桃视频免费在线观看 | 老子影院午夜伦不卡不四虎卡 | 欧美视频一二三区 | 欧美黑人猛烈ⅹxxx狂暴 | 国产高颜值露脸在线观看 | 欧美jizzhd欧美精品巨大 | 激情婷婷六月 | 国产成人3p视频免费观看 | 久久99热这里只有精品免费看 | 中文字幕第30页 | 波多野结衣精品一区二区三区 | 青娱乐极品视频在线观看 | 午夜www| 日本a视频在线 | 久久一区二区三区不卡 | 亚洲一级在线观看 | 国产一区二区三区视频 | 人人做人人爽人人爱影视 | 日本在线播放一区 | 99久久er热在这里都是精品99 | 日本一区二区三区免费在线观看 | 日本高清视频一区二区三区 | 一级毛片免费播放视频 |