第十章排序 交換類排序與選擇類排序

2021-09-02 07:06:54 字數 1793 閱讀 5420

2-1

在快速排序的一趟劃分過程中,當遇到與基準數相等的元素時,如果左右指標都會停止移動,那麼當所有元素都相等時,演算法的時間複雜度是多少?(2分)

o(logn)

o(n)

o(nlogn)

o(n​2​​)

2-2在快速排序的一趟劃分過程中,當遇到與基準數相等的元素時,如果左右指標都不停止移動,那麼當所有元素都相等時,演算法的時間複雜度是多少?(2分)

o(logn)

o(n)

o(nlogn)

o(n​2​​)

2-3在快速排序的一趟劃分過程中,當遇到與基準數相等的元素時,如果左指標停止移動,而右指標在同樣情況下卻不停止移動,那麼當所有元素都相等時,演算法的時間複雜度是多少?(2分)

o(logn)

o(n)

o(nlogn)

o(n​2​​)

2-4對n個不同的資料採用冒泡演算法進行從大到小的排序,下面哪種情況下肯定交換元素次數最多? (1分)

從小到大排好的

從大到小排好的

元素無序

元素基本有序

2-5對於7個數進行氣泡排序,需要進行的比較次數為: (2分)714

2149

6 + 5 + 4 + 3 + 2 + 1 = 21;

2-6有組記錄的排序碼為,則利用堆排序的方法建立的初始堆為: (2分)

79,46,56,38,40,80

84,79,56,46,40,38

84,56,79,40,46,38

84,79,56,38,40,46

2-7採用遞迴方式對順序表進行快速排序,下列關於遞迴次數的敘述中,正確的是: (2分)

每次劃分後,先處理較長的分割槽可以減少遞迴次數

每次劃分後,先處理較短的分割槽可以減少遞迴次數

遞迴次數與每次劃分後得到的分割槽處理順序無關

遞迴次數與初始資料的排列次序無關

2-8對n個記錄進行快速排序,在最壞的情況下,其時間複雜度是: (1分)

o(n)

o(nlogn)

o(n​2​​)

o(n​2​​logn)

2-9有組記錄的排序碼為,採用快速排序(以位於最左位置的物件為基準而)得到的第一次劃分結果為: (2分)

2-10

對於序列,按由小到大進行排序,下面哪乙個是初始步長為4的希爾排序法第一趟的結果? (2分)

13,27,38,49,50,65,76,97

49,13,27,50,76,38,65,97

49,76,65,13,27,50,97,38

97,76,65,50,49,38,27,13

2-11

給定初始待排序列。如果希爾排序第一趟結束後得到序列為,則該趟增量為: (2分)12

342-12

對n個元素採用簡單選擇排序,比較次數和移動次數分別為: (1分)

o(n​2​​), o(n)

o(n), o(logn)

o(logn), o(n​2​​)

o(nlogn), o(nlogn)

2-13

對於10個數的簡單選擇排序,最壞情況下需要交換元素的次數為: (2分)936

45100

2-14

對n個記錄進行堆排序,最壞的情況下時間複雜度是: (1分)

o(logn)

o(n)

o(nlogn)

o(n​2​​)

2-15

對n個記錄進行堆排序,需要的額外空間為: (1分)

o(1)

o(logn)

o(n)

o(nlogn)

第十章作業2 交換類排序與選擇類排序

胡潤研究院的調查顯示,截至2017年底,中國個人資產超過1億元的高淨值人群達15萬人。假設給出n個人的個人資產值,請快速找出資產排前m位的大富翁。輸入首先給出兩個正整數n 10 6 和m 10 其中n為總人數,m為需要找出的大富翁數 接下來一行給出n個人的個人資產值,以百萬元為單位,為不超過長整型範...

第十章 TypeScript 類

class是ts的核心,使用ts開發時,大部分 都是寫在類裡面的 類的定義,類的構造,類的繼承 class person 例項化 這邊是可以new出多個例項的 var p1 new person p1.name batman p1.eat var p2 new person p2.name supe...

Clean Code 第十章 類

最近的cleancode讀到了第十章。這一張主要講了如何去構造乙個類,感覺的cleancode至此已經不僅僅是單純的講如何 寫 出漂亮的 而是從設計方向上去構造出好的 了。本章節主要講了 類的組織 我們構造的類應該短小 我們構造類應該是為修改而組織任何的設計最後都將落實到實現上來,漂亮的實現乙個類與...