資料結構 筆記 排序

2021-10-06 12:52:54 字數 1023 閱讀 4086

1、選擇排序;找出代排序的數中的最小數字,將最小的數字挪到最前面。

2、設一組初始記錄關鍵字的長度為8,則最多經過()趟插入排序可以得到有序序列。

插入排序:假設都需要進行插入,除了第乙個,其餘的數都需要插入,需要n-1次。

3、對於快速排序而言,資料越有序,則排序時間越長。

4、序列是某排序演算法第二輪排序的結果,則該演算法只能是

正確答案: a 你的答案: b (錯誤)

快速排序

氣泡排序

選擇排序

插入排序

解析:這道題採用的是排除法,氣泡排序,最大的數字會在最後面,兩次之後,最大和次最大都應該在最後面。

選擇排序:最小在最前面,兩次之後,最小和次最小應該在最前面,不對。

插入排序:兩次,前兩個數字應該是從小到大進行排列的,但是都不是,所以選擇快速排序。

5、歸併演算法基本操作是合併兩個已經排序的表,因為這兩個表是已經排序的,所以若將輸出放到第三個表中則該演算法可以通過對輸入資料一趟排序來完成,因此是需要額外儲存空間的。

6、最好和最壞的時間複雜度都相同的是:歸併排序。

7、題目**於王道論壇

下列排序方法中,若將順序儲存更換為鏈式儲存,則演算法的時間效率會降低的是 。

ⅰ.插入排序 ⅱ.選擇排序 ⅲ.起泡排序 ⅳ.希爾排序 ⅴ.堆排序

僅ⅳ、ⅴ

凡是涉及到:排序需要順序儲存的都會受影響。

插入排序、選擇排序、起泡排序原本時間複雜度是o(n2),更換為鏈式儲存後的時間複雜度還是o(n2)。希爾排序和堆排序都利用了順序儲存的隨機訪問特性,而鏈式儲存不支援這種性質,所以時間複雜度會增加,因此選d。

8、對n個數字進行排序,期中兩兩不同的數字的個數為k,n遠遠大於k,而n的取值區間長度超過了記憶體的大小,時間複雜度最小可以是?

兩兩不同的數字的個數為k,因為不知道確定的數字範圍,桶排序不適合,又因為 n遠遠大於k, 本題使用hash表來統計,首先獲得k個數及其每個數出現的次數,然後對k個數進行排序,排序的 複雜度可忽律不計,實際上就是遍歷一遍n個數字,所以本位複雜度為o(n)。

雜湊表:最快的

資料結構筆記 排序

排序 1 插入排序 直接插入排序和希爾排序 2 選擇排序 直接選擇排序和堆排序 3 交換排序 氣泡排序和快速排序 4 歸併排序 5 基數排序 直接插入排序 說明 逐個將後乙個數加到前面的排好的序中。在直接插入排序過程中,對其中乙個記錄的插入排序稱為一次 排序 直接插入排序是從第二個記錄開始進行的,因...

資料結構筆記 排序

排序 1 插入排序 直接插入排序和希爾排序 2 選擇排序 直接選擇排序和堆排序 3 交換排序 氣泡排序和快速排序 4 歸併排序 5 基數排序 直接插入排序 說明 逐個將後乙個數加到前面的排好的序中。在直接插入排序過程中,對其中乙個記錄的插入排序稱為一次 排序 直接插入排序是從第二個記錄開始進行的,因...

資料結構筆記 排序

排序 1 插入排序 直接插入排序和希爾排序 2 選擇排序 直接選擇排序和堆排序 3 交換排序 氣泡排序和快速排序 4 歸併排序 5 基數排序 直接插入排序 說明 逐個將後乙個數加到前面的排好的序中。在直接插入排序過程中,對其中乙個記錄的插入排序稱為一次 排序 直接插入排序是從第二個記錄開始進行的,因...