日韩在线免费播放-日韩在线免费av-日韩在线免费-日韩在线毛片-国产高清不卡视频-国产高清不卡

當(dāng)前位置:首頁 > 嵌入式培訓(xùn) > 嵌入式學(xué)習(xí) > 講師博文 > 數(shù)據(jù)結(jié)構(gòu)排序算法有哪些常用的

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

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

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

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

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

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

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

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

數(shù)據(jù)結(jié)構(gòu)排序算法

那么,舉幾個例子,講解下其應(yīng)用的相關(guān)排序算法。

(一)冒泡排序

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

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

數(shù)據(jù)結(jié)構(gòu)排序算法

后排序結(jié)果為紅色背景的順序。

(二)簡單選擇排序

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

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

數(shù)據(jù)結(jié)構(gòu)排序算法

(三)快速排序

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

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

數(shù)據(jù)結(jié)構(gòu)排序算法

(四)直接插入排序

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

例: 設(shè)文件記錄的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ù)據(jù)結(jié)構(gòu)排序算法

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

上一篇:音頻解碼的兩個標(biāo)準(zhǔn)AC97和IIS

下一篇:細(xì)說Linux內(nèi)核目錄結(jié)構(gòu)

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

回到頂部

主站蜘蛛池模板: 尤勇智的个人资料简介| 尹雪喜新建文件夹2| 粤韵风华| 91天堂素人97年清纯嫩模| 俗世乐土| 《与凤行》演员表| 杨子姗赵又廷演的电影叫什么| 电商运营计划| 暴走财神4| 星条红与蓝皇室| 国家干部电视剧| 沈月个人简历资料| 小林凉子| 大姐大| 第一财经直播电视直播| 陈一龙是哪部电视剧| 真的爱你中文谐音歌词| 极品美女在线视频| 永刚| 大森元贵| 想太多吉他谱| 电影百度百科| 天国恩仇| 西藏卫视在线直播| 饥渴的少妇电影完整版| 忆城粤语版谭咏麟| 七下英语第二单元作文| 车震电影| 张柏芝艳照无删减版| 电影英雄| 动漫头像男| 倪敏然| 抗日电影大突围完整版| 超人机梅塔路达| 天下第一楼剧情介绍| 校园风暴| 追捕渣滓洞刽子手电视剧全集在线观看| 第一财经直播电视直播| 混沌行走| 爱在一起麻辣烫| 美少女战士变身|