今天分享的一道算法面試題來源於 360校園招聘2015屆技術類筆試題 。html
用某種排序方法對關鍵字序列(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複製代碼
請問採用的是如下哪一種排序算法()算法
A. 選擇排序編程
B. 希爾排序動畫
C. 歸併排序網站
D. 快速排序spa
這道題目很好的考察了你們對排序方法過程的理解程度。code
對於題目給出的四個選項,很容易就能排除 選擇排序,由於對於 選擇排序 而言它的操做是 第一次從待排序的數據元素中選出最小(或最大)的一個元素,存放在序列的起始位置,而後再從剩餘的未排序元素中尋找到最小(大)元素,而後放到已排序的序列的末尾。cdn
20,15,21,25,47,27,68,35,84複製代碼
序列中 20 不是最小的記錄,故排除 選擇排序。htm
接下來的三個選項實際上挺難抉擇的,咱們首先來回顧一下它們三個的動畫。
對於 希爾排序 而言,須要知道 增量 ,根據動畫咱們能夠理解爲 gap = 4
。
先分爲四組。
25 15複製代碼
84 27複製代碼
21 68複製代碼
47 35複製代碼
對這四組分別進行插入排序,加上剩下的 20 變成了
15 27 21 35 25 84 68 47 20複製代碼
與題目給出的步驟不一樣,故排除 希爾排序。
再來看歸併排序動畫,邏輯操做就簡單了。
先一分爲二。
25,84,21,47,15,27,68,35,20複製代碼
變成了
25,84,21,47複製代碼
與
15,27,68,35,20複製代碼
第二步應該是(這裏與動畫稍許不一樣,沒有切分到底)
15 25 27 68 35 20 84 21 47複製代碼
與題目給出的步驟不一樣,故排除 歸併排序。
因此,答案選 D :快速排序。
歡迎前往個人我的網站進行閱讀:www.cxyxiaowu.com原文地址:https://www.cxyxiaowu.com/2536.html
若是你以爲這篇內容對你挺有啓發,我想邀請你幫我三個忙: