排序演算法題目

2021-07-29 21:29:45 字數 1161 閱讀 5645

對序列進行排序,進行一趟後資料的排列變為;則採用的是()排序

答:shell

25,84,21,47,15,27,68,35,20進行排序時,變化為「20,15,21,25,47,27,68,35,84」「15,20,21,25,35,27,47,68,84」「15,20,21,25,27,35,47,68,84」的排序方法是()?

選擇排序

希爾排序

歸併快速排序

排序時,若不採用計數排序等科技換時間的方法,合併m個長度為n的已排序陣列的時間複雜度最優為()

o(nm^2)

o(mn(logm))

o(nm)

o(mlog(n))

這道題選b。

合併m個長度為n的已排序陣列的時間複雜度為o(nmlogm)。思路是:首先將m個已排序陣列的第乙個數,建立大小為m的小根堆,時間複雜度o(m)。然後每次輸出堆頂的數,再將其所屬已排序陣列的後乙個數放入堆頂,調節小根堆。因為我們有m*n個數,小根堆調整時間為o(logm),所以時間複雜度o(nmlogm)。

有一組資料(15,9,7,8,20,-1,7,4),用堆排序的篩選方法建立的初始堆為()

正確答案: c 你的答案: d (錯誤)

-1,4,8,9,20,7,15,7

-1,7,15,7,4,8,20,9

-1,4,7,8,20,15,7,9

abc均不對

對n個元素的陣列進行(),其平均時間複雜度和最壞情況下的時間複雜度都是o(nlogn)

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

希爾排序

快速排序

堆排序

選擇排序

對一組資料(2,12,16,88,5,10)進行排序,若前三趟排序結果如下()

第一趟 : 2,12,16,5,10,88

第二趟 : 2,12,5,10,16,88

第三趟 : 2,5,10,12,16,88

則採用的排序方法可能是 ()

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

氣泡排序

希爾排序

歸併排序

基數排序

題目10 基本的排序演算法

解題思路 排序演算法有很多種,插入排序,氣泡排序,希爾排序 shellsort 快速 排序,堆排序,歸併排序,基排序等。作為一名軟體開發人員,需要能夠自己動手實 現這些演算法,掌握這些演算法的思想,以及這些演算法的時間複雜度,空間複雜度。雖然 很時候,在實際的工作中,有庫函式可以提供給我們使用,但是...

leetcode 排序題目

merge k sorted lists insertion sort list sort list first missing positive sort colors 147.insertion sort list sort a linked list using insertion sort....

成績排序題目

有n個學生的資料,將學生資料按成績高低排序,如果成績相同則按姓名字元的字母序排序,如果姓名的字母序也相同則按照學生的年齡排序,並輸出n個學生排序後的資訊。測試資料有多組,每組輸入第一行有乙個整數n n 1000 接下來的n行包括n個學生的資料。每個學生的資料報括姓名 長度不超過100的字串 年齡 整...