考研-專業(yè)課part排序定義及相關(guān)概念_第1頁(yè)
考研-專業(yè)課part排序定義及相關(guān)概念_第2頁(yè)
考研-專業(yè)課part排序定義及相關(guān)概念_第3頁(yè)
考研-專業(yè)課part排序定義及相關(guān)概念_第4頁(yè)
考研-專業(yè)課part排序定義及相關(guān)概念_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余93頁(yè)可下載查看

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

DataPAGEPAGE2 isforbiddento排序的定義及相關(guān)概穩(wěn)定、外部排為排序,反之稱為外部排序。基本操排其關(guān)鍵字大小到已有序的部分記錄中的適當(dāng)直接排直接排序是一種最基本的排序方初始關(guān)鍵字 i=2: i=3: i=4: i=5: i=6: i=7: i=8: 監(jiān)視直接排序的時(shí)間復(fù)雜度為O(n2),空間復(fù)雜直接排序是穩(wěn)定的排序方法,它適合于待折半排用直接排序。由于在排序的基本操作是在一個(gè)有序表中進(jìn)行查找和,而這個(gè)“查找”操作可利用“折半查找”來(lái)實(shí)現(xiàn),稱之為折半排序。采用折半排序法,可減少關(guān)鍵字的比較次。每一個(gè)元素,需要比較的次數(shù)最大為折半判定未改變移動(dòng)元素的時(shí)間耗費(fèi),所以折半排序的總排的記錄放在同一個(gè)組中,在各組內(nèi)進(jìn)行直接排序;然后,取第二個(gè)增量d2d1序,直至所取的增量dt=1(dt<dt-1<…<d2<d1),即所有記錄放在用一組中進(jìn)行直接排序排序是不穩(wěn)定的排序方法初始關(guān)鍵字: 第一趟結(jié)果: 第二趟結(jié)果: 第三趟結(jié)果: 交換排。以此類推,直至第(n-1)個(gè)記錄和第n個(gè)記錄的關(guān)鍵初第第第第第第始—二三四五六關(guān)趟趟趟趟趟趟鍵排排排排排排字序序序序序序快速排樞軸關(guān)鍵字

46 60 3 75 53 133 9675 53 133 96

60 33 75 53 133 96

333333

12 一次劃分后:{ 33}

{ 96分別對(duì)前后兩序{12}33{33 53{ 96

{60}75{96無(wú)序區(qū)的長(zhǎng)度大致相等,其時(shí)間復(fù)雜度為O(nlogn)。而對(duì)快速排序平均時(shí)間而言,其時(shí)間復(fù)雜度也是O(nlogn)。通常,快速排序被認(rèn)為是在所有同O(nlogn)序列中的記錄進(jìn)行排序,則棧的最多深度為O(logn)。另選擇排i+1)個(gè)記錄中選出關(guān)鍵字最小的記錄,并與第i(第一趟排序第七趟排序最后排序

堆排若將此序列所有的向量看作是一棵完全二叉(a)邏輯結(jié) (b)結(jié)(a)邏輯結(jié) (b)結(jié)n/2的結(jié)點(diǎn)都序號(hào)

/

首先篩(a)初始序列對(duì)應(yīng)的完全二叉 (b)篩選75準(zhǔn)備準(zhǔn)備篩準(zhǔn)備篩(c)篩選33 (d)篩選60 (e)篩選46后,得到最終的重新調(diào)整堆的“篩選法(a)準(zhǔn)備篩選46,46的左右子樹均為 (b)移出46,準(zhǔn)備上移 (c)上移96后,準(zhǔn)備上移(d)上移75,準(zhǔn)備上移 (e)上移60后,準(zhǔn)備將46移入空位 (f)將46移入空位置后,篩選得到堆排序過(guò)12 33堆12 33 堆(a)初始大根

(g)將前5個(gè)元素重新調(diào)整

(h)堆頂與堆尾元素交

(i)將前4個(gè)元素重新調(diào)整 (j)堆頂與堆尾元素交 (k)將前3個(gè)

(l)堆頂與堆尾元素交堆堆 (m)將前2個(gè)元素重新調(diào)整

(n)堆頂與堆尾元素交換成為最終的大根堆排序在情況下,其時(shí)間復(fù)雜度也O(nlogn)。相對(duì)于快速排序來(lái)說(shuō),這是堆排歸并排2-路歸得到n/2長(zhǎng)度為2的有序子序列。接著再對(duì)長(zhǎng)度為2的有序。如此重復(fù),直至得到一個(gè)長(zhǎng)度為n初始關(guān)鍵字第一趟歸并第二趟歸并第三趟歸并是O(nlogn)。在實(shí)現(xiàn)歸并時(shí),需要與待排記鏈?zhǔn)交鶖?shù)排值進(jìn)行進(jìn)一步排序。以此類推,由低位到,每一趟是一趟基礎(chǔ)上,根據(jù)關(guān)鍵字的某一位對(duì)所有記錄進(jìn)行排序,直至最,這樣就完成了基數(shù)排序的 (e)第二趟收集之 (f)第三趟分配之第于需要鏈表作為結(jié)構(gòu),則相對(duì)于其它以順序結(jié)構(gòu)記錄的排序方法而言,還增加了n個(gè)直接穩(wěn)直接選不穩(wěn)冒泡排穩(wěn)排不穩(wěn)快速排不穩(wěn)堆排不穩(wěn)2-路歸并排穩(wěn)基數(shù)排穩(wěn)各種排幾個(gè)結(jié)論接排序是最佳的排序方法。因此常將它與復(fù)雜度均為O(nlogn),就平均時(shí)間而言,快但是快速排序在情況下的時(shí)間性能為O(n2)。堆排序和歸并排序的時(shí)間復(fù)雜度仍為O(nlogn),當(dāng)n較大時(shí),歸并排序的時(shí)間性能優(yōu)于法中,排序、快速排序、堆排序都是不穩(wěn)外排序的兩個(gè)階,稱為歸并段或順串;再對(duì)歸并段進(jìn)行歸2、設(shè)有序列15,9,12)。給出下面結(jié)建立二叉排序樹對(duì)d=3執(zhí)行一次 排序建立堆頂最大的初始堆執(zhí)行一次快速排序結(jié)果(1二叉排序樹如下圖(2)(2)一次s排序結(jié)果為15,17,23(3初始大頂堆如下圖(1)(4快速排序第一趟結(jié)果為952595259 A、起泡B、直接C、歸并D、簡(jiǎn)單選擇4、對(duì)下面4個(gè)線性表分別進(jìn)行快速排序,中 的排序速度最快。A1,2,3,4,5,6,7,8B4,1,3,2,6,5,7,8C4,3,2,1,6,5,7,8D、5、排序趟數(shù)與序列的原始狀態(tài)有關(guān)的排序法 。A、排 B、選擇排C、起泡排 D、快速排6、數(shù)據(jù)序列 A、快速排 B、冒泡排C、選擇排 D、排 A、選擇排序 B、冒泡排序C、歸并排 D、堆排(無(wú)交換(無(wú)交換9、給出如下關(guān)鍵字序列7(1)84472515(2)15472584(3)15212584(4)15212547 A、選擇 B、冒泡 C、快速 D、 A、堆排 B、快速排C、排 D、歸并排Key:C、 A、75,65,30,15,25,45,20,10B、C、D、 A、要排序的數(shù)據(jù)量太B要排序的數(shù)據(jù)中含有多個(gè)相同C、要排序的數(shù)據(jù)個(gè)數(shù)為奇D、要排序的數(shù)據(jù)已基本有算法設(shè)一般來(lái)說(shuō),數(shù)據(jù)結(jié)構(gòu)中稍微復(fù)雜一些的下面就考研中算法設(shè)計(jì)考題,并結(jié)合本 算法,這是最為的一類題目。用計(jì)算機(jī)解決實(shí)際問(wèn)題大致過(guò)程如下原問(wèn)題―分析―定義―設(shè)計(jì)算法―實(shí)―編譯調(diào)1、分分析階段需要把握的有數(shù)據(jù)結(jié)構(gòu)是什么。有時(shí)會(huì)明確地告訴你需要用順序?qū)崿F(xiàn)或鏈?zhǔn)綄?shí)現(xiàn);有時(shí)并未給出要求,那么你要根據(jù)你的實(shí)際選擇合適的結(jié)構(gòu)。對(duì)于鏈?zhǔn)椒浅H菀?,否則就。實(shí)上,平時(shí)習(xí)時(shí)2定實(shí)際上是規(guī)格定義。定義數(shù)據(jù)結(jié):順序的數(shù)組大小、類型、維數(shù)等,式的結(jié)點(diǎn)結(jié)構(gòu);參數(shù)的類型及個(gè)數(shù);輸3、設(shè)計(jì)算另外,有幾點(diǎn)提醒,希望引起注意算法應(yīng)該以一個(gè)完整的函數(shù)形式。,速度放慢實(shí)例:結(jié)點(diǎn)的單向鏈表就地逆置[分析]空表時(shí)不必逆置,判定的條件h->next==NULL當(dāng)有兩個(gè)結(jié)點(diǎn)時(shí),指針的圖示P1P1342 ③:h->next->next=p;④:p-當(dāng)有三個(gè)結(jié)點(diǎn)時(shí) hq引入:指向結(jié)點(diǎn);s引入:索引未結(jié)點(diǎn)實(shí)際上,就地逆置是在鏈表的頭結(jié)點(diǎn)后不斷未的節(jié)點(diǎn)LinkList*reverse(LinkList{ListNodep,q,ifh->next==NULLreturnelseifh->next->next==NULLreturnelse{p=h- q=p-s=q- p-q-p=h-/*p始終指向第1個(gè)元素結(jié)點(diǎn)s=s-}q-p=h-/*p始終指向第1個(gè)元素結(jié)點(diǎn)s=s-}/*q和s向右移動(dòng)}until}return一些應(yīng)當(dāng)掌握的基本算法單鏈表上的和刪除運(yùn)算順序表上的和刪除運(yùn)算一些應(yīng)當(dāng)掌握的基本算法二樹排序樹的、、刪除運(yùn)算!一、單項(xiàng)選擇邏輯上通??梢詫?shù)據(jù)結(jié)構(gòu)分為 第i個(gè)元素的前驅(qū)(1

在第i個(gè)元后一個(gè)新元素(1

n刪除第i個(gè)元素(1

假設(shè)結(jié)點(diǎn)的單向循環(huán)鏈表的頭指針為head,則該鏈表為空的判定條件是()A.head==NULLB.head–>next==NULLD.head–>next==head已知棧的最大容量為4。若進(jìn)棧序列為 A.B.C.D.1,4,6,5,2,3樹的先根序列等同于與該樹對(duì)應(yīng)的二叉 先序序 B.中序序 A. B.C.2e D.n edabedabc下列排序方法中,穩(wěn)定的排序方法為(A.排 B.堆排C.快速排 D.直接排 A.關(guān)鍵字的個(gè) B.樹的形 二、填空數(shù)據(jù)的結(jié)構(gòu)是其邏輯結(jié) Key:在內(nèi)存中的映輸入線性表的n個(gè)元素建立結(jié)點(diǎn)的單鏈 元素占2個(gè)單元,元素A[0][0]的地址為100,則元素A[4][5]的地址為 在快速排序、堆排序和歸并排序中,時(shí) Key:快速排H(key)=key%7,若用線性探測(cè)處理, 三、解答畫出該二叉樹的二叉鏈表表示;依次讀入給定的整

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論