考研複試 資料結構第八章

2021-10-14 11:00:15 字數 1601 閱讀 1098

1、對各種內部排序的概括與總結?

排序:是指把乙個任一元素的序列排列成乙個按關鍵字key有序的序列。內部排序包括:插入排序、選擇排序、交換排序、歸併飄絮、基數排序。其中插入排序包括:直接插入排序、折半插入排序、希爾排序;選擇排序包括:簡單選擇排序,堆排序;交換排序包括:氣泡排序、快速排序。

(1)直接插入排序(穩定):基本思想:將序列分為有序部分和無序部分,從無序部分依次選擇元素與有序部分比較找到合適的位置,將原來的元素往後移,將元素插入到相應位置上。時間複雜度為:o(n^2),空間複雜度為o(1)。

(2)折半插入排序(穩定):基本思想為:設定三個變數low high mid,令mid=(low+high)/2,若a[mid]>key,則令high=mid-1,否則令low=mid+1,直到low>high時停止迴圈,對序列中的每個元素做以上處理,找到合適位置將其他元素後移進行插入。他的比較次數為o(nlog2n),但是因為要後移,因此時間複雜度為o(n^2),空間複雜度為o(1)。優點是:比較次數大大減少。

(3)希爾排序(不穩定):基本思想為:先將序列分為若干個子串行,對各子串行進行插入排序,等到序列基本有序時再對整個序列進行一次直接插入排序。優點是:讓關鍵字值小的元素能夠很快移動到前面,且序列基本有序時進行直接插入排序時間效率會提公升很多,空間複雜度為o(1)。

(4)簡單選擇排序(不穩定):基本思想為:將序列分為2部分,每經過一趟就在無序部分找到乙個最小值然後與無序部分的第乙個元素交換位置。優點是:實現起來特別簡單,缺點是:每一趟只能確定乙個元素的位置,時間效率低。時間複雜度為o(n^2),空間複雜度為o(1)。

(5)堆排序(不穩定):設有乙個任意序列,k1,k2…,kn,當滿足下面特點時稱之為堆,讓此序列排列成完全二叉樹,該樹具有以下特點,該樹中任意結點均大於或小於其左右孩子,此樹的根結點為最大值或者最小值。優點是:對大檔案效率明顯提高,但對小檔案效率不明顯。時間複雜度為o(nlog2n),空間複雜度為o(1)。

(6)氣泡排序(穩定):基本思想:每一趟都將元素進行兩兩比較,並且按照「前小後大」的規則進行交換。優點是:每一趟不僅能找到乙個最大的元素放到序列後面,而且還把其他元素理順,如果下一趟排序沒有發生交換則可以提前結束排序。時間複雜度為o(n^2),空間複雜度為o(1)。

(7)快速排序(不穩定):基本思想為:在序列中任意選擇乙個元素作為中心,比它大的元素一律向後移動,比它小的元素一律向前移動,形成左右兩個子串行,再把子序列按上述操作進行調整,直到所有的子串行中都只有乙個元素時序列即為有序。優點是:每一趟不僅能確定乙個元素,時間效率較高。時間複雜度為o(nlog2n),空間複雜度o(log2n)。

(8)歸併排序(穩定):基本思想為:把兩個或者兩個以上的有序表合併成乙個新的有序表。時間複雜度為o(nlog2n),空間複雜度和待排序的元素個數相同。

(9)基數排序(穩定):時間複雜度為:對於n各記錄進行鏈式基數排序的時間複雜度為o(d(n+rd)),其中每一趟分配的時間複雜度為o(n),**的時間複雜度為為o(rd)。

總結:直接插入排序、氣泡排序和簡單選擇排序是最基本的排序方法,他們主要用於元素個數n不是很大的情形。

對於中等規模的元素序列,希爾排序是一種很好的選擇。

對於元素個數n很大的情況,可以採用快排、堆排序、歸併排序或基數排序,其中快排和堆排序都是不穩定的,而歸併排序和基數排序是穩定的排序演算法。

第八章 指標 第八章 指標

1 什麼是位址 include using namespace std int main 11 在堆中建立對像 我們既然可以在堆中儲存變數,那麼也就可以儲存對像,我們可以將對像儲存堆中,然後通過指標來訪問它 include using namespace std class human 14 在建構...

資料結構 第八章 查詢目錄

資料表 資料元素的有限集合。關鍵字 資料表中資料元素一般有多個屬性域 字段 即由多個資料成員組成,其中有某些屬性域可用來區分不同的元素,它們可作為查詢或排序的依據,這些屬性域即為關鍵字。即使是同乙個表,在解決不同問題的場合也可能取不同的域作關鍵字。如果在資料表中各個元素的關鍵字互不相同,這種關鍵字稱...

資料結構第八章學習小結

第八章主要學習排序,引入了之前未涉及的穩定性。思維導圖如下 第八章主要涉及了內部排序方法,下圖是對內部排序方法的比較 有些方法只限定於有序或順序儲存等,因此使用時綜合考慮以下因素 1 待排序的記錄個數 2 記錄本身的大小 3 關鍵字的結構和初始狀態 4 對排序穩定性的要求 5 儲存結構 二 作業 選...