實(shí)驗(yàn)八快速排序

實(shí)驗(yàn)八快速排序

ID:35342179

大小:62.81 KB

頁(yè)數(shù):5頁(yè)

時(shí)間:2019-03-23

實(shí)驗(yàn)八快速排序_第1頁(yè)
實(shí)驗(yàn)八快速排序_第2頁(yè)
實(shí)驗(yàn)八快速排序_第3頁(yè)
實(shí)驗(yàn)八快速排序_第4頁(yè)
實(shí)驗(yàn)八快速排序_第5頁(yè)
資源描述:

《實(shí)驗(yàn)八快速排序》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。

1、實(shí)驗(yàn)八快速排序一.實(shí)驗(yàn)?zāi)康?、熟悉和掌握快速排序的基本思想。2、了解并掌握快速排序的結(jié)構(gòu)。3、掌握和熟悉內(nèi)部排序中快速排序的實(shí)現(xiàn)方法。二.實(shí)驗(yàn)預(yù)備知識(shí)快速排序是市起泡排序改進(jìn)而得來(lái)的。起泡排序的算法思想是:通過(guò)無(wú)序區(qū)中相鄰紀(jì)錄關(guān)鍵字間的比較和位置的交換,使關(guān)鍵字最小的紀(jì)錄如氣泡一般逐漸往上“漂浮”直至“水面”。整個(gè)算法是從最下面的紀(jì)錄開(kāi)始,對(duì)每?jī)蓚€(gè)相鄰的關(guān)鍵字進(jìn)行比較,且使關(guān)鍵字較小的紀(jì)錄換至關(guān)鍵字較大的紀(jì)錄之上。,使得經(jīng)過(guò)一趟起泡排序后,關(guān)鍵字最小的記錄到達(dá)最上端,接著,再在剩下的紀(jì)錄中找關(guān)鍵字最小的紀(jì)錄,并把它換在第二個(gè)位置上。依次類推,一直到所有記錄

2、都有序?yàn)橹?。快速排序的基本思想是在待排序的n個(gè)記錄中任選一個(gè)記錄,將該紀(jì)錄放入最終位置后,數(shù)據(jù)序列被分割成兩部分。所有關(guān)鍵字比較該紀(jì)錄關(guān)鍵字小的放置在前一部分,所有比他大的放置在后一部分,并將該紀(jì)錄排在這兩部分的中間,這個(gè)過(guò)程稱作一趟快速排序。之后對(duì)分割成的兩部分分別重復(fù)上述過(guò)程,直到每個(gè)部分內(nèi)只有一個(gè)記錄為止??焖倥判蚴遣环€(wěn)定的。從平均時(shí)間性能而言,快速排序最佳,其時(shí)間復(fù)雜性為O(nlog2n)。但在最壞情況下,即對(duì)幾乎是排序好的輸入序列,該算法的效率很低,近似于0(『)。對(duì)于較小的n值,該算法效果不明顯;反之,對(duì)較大的n值,效果較好。初始關(guān)鍵字[707

3、3692393181168]第一趟排序后[6811692318]70[9373]第二趟排序后[181123]68[69]70[9373]第三趟排序后111823686970[93731第四趟排序后1118236869707393一.實(shí)驗(yàn)內(nèi)容從時(shí)間上看,快速排序的平均性能優(yōu)于英它各種排序方法,從空間上看,快速排序只需一個(gè)??臻g來(lái)實(shí)現(xiàn)遞歸。最壞的情況下,一個(gè)長(zhǎng)度為n的序列,其快速排序所需棧的最大深度為no最小深度為O(logn)o實(shí)驗(yàn)基本思想:設(shè)有n個(gè)記錄的序列,運(yùn)用快速排序法將其按升序排列,并輸出排列結(jié)果。實(shí)驗(yàn)源程序算法如下:quicksort(intr[]

4、,ints,intt)/*把r[s]至r[t]的元素進(jìn)行快速排序*/{inti=s;intj=t;if(s=r[01)j-;r[i]=r[j];i++;while(i

5、寫(xiě)出每趟排序的結(jié)果和實(shí)驗(yàn)報(bào)告。#include#includevoidquicksort(intr[],ints,intt)排序*/{intm;/*m為監(jiān)視哨*/inti=s;intj=t;/*把r[s]至r[t]的元素進(jìn)行快速m=r[s];do{while(i=m)j—;{r[i]=r[j];i++;}while(i

6、rt(rj+l,t);intmain(void)inta[12]={67,l,3,4,12,8,9,O,5,43,55,15},i;quicksort(a,0,l1);foT(i二0;ivl2;i++)printf(n%d”,a[i]);return0;}五、強(qiáng)化與提高1、已知序歹!J{503,55,78,99,10,953,487,41,13,776,314},采用快速排序?qū)υ撔蛄凶鹘敌蚺判驎r(shí)的每一趟結(jié)果。2、對(duì)于快速排序的非遞歸算法,可用隊(duì)列實(shí)現(xiàn)嗎?說(shuō)明理由。3、寫(xiě)出快速排序的非遞歸算法。

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。