五分鐘學算法之經典算法題:排序算法(360校招筆試題)

今天分享的一道算法面試題來源於 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

❤️ 看完三件事:

若是你以爲這篇內容對你挺有啓發,我想邀請你幫我三個忙:

  • 點贊,讓更多的人也能看到這篇內容(收藏不點贊,都是耍流氓 -_-)
  • 關注我和專欄,讓咱們成爲長期關係
  • 關注公衆號「五分鐘學算法」,第一時間閱讀最新的算法文章,公衆號後臺回覆 1024 送你 50 本 算法編程書籍。
相關文章
相關標籤/搜索