面趣 | 為什麼要分穩定排序和非穩定排序?
作者
channingbreeze
如需轉載,請聯絡原作者。
小史是一個應屆生,雖然學的是電子專業,但是自己業餘時間看了很多網際網路與程式設計方面的書,一心想進BAT網際網路公司。
今天他去了一家網際網路小巨頭公司面試了。
沒想到面試並不像想象中的順利。
【遇見呂老師】
【面試現場】
小史:原始資料,a2和a4的位置都是3。對於穩定排序來說,排序後的序列,a2一定還是在a4前面。但是對於非穩定排序來說,就不一定了,可能排完序之後,a4反而在a2的前面了。
題目:既然最後都是有序序列,為什麼還要分穩定和非穩定的排序呢?
半分鐘過去了。
【請教大神】
呂老師:筆試主要問是什麼,而面試主要問為什麼。
【呂老師的課】
呂老師一上課就把問題拋了出來。
話音剛落,蛋哥就站了起來。
蛋哥:咱們每次考試完成後,都會按照分數進行排序。分高的自然就是第一名。分數相同的同學怎麼辦呢?那就是按照上次的分數來分高低。上次分高的排在前面。
蛋哥:這個時候就應該用穩定排序,在上次排好序的序列上,再針對這次的分數進行排序。穩定排序的結果能保證這次相同分數的人,上次分高的在前面。
蛋哥:再比如我們班的同學,已經按照學號排好序了。現在要按照身高排序。如果是穩定排序排好之後,身高相同的同學,還是按照學號順序的。
呂老師:沒錯,其實就是有兩個排序關鍵字的時候,穩定排序可以讓第一個關鍵字排序的結果服務於第二個關鍵字排序中數值相等的那些數。
小史聽完後,覺得很慚愧,其實這些場景自己也遇到過,早該想到的。
【課後】
課後小史又找到呂老師。
呂老師:你看的東西很多,是你學到了很多知識。但是這些知識之間的關聯,需要你進行深入思考才能得到的。找到知識之間的聯絡,找到知識和實際場景之間的聯絡,多想想為什麼,才能做到融會貫通。
推薦閱讀
完
01
微 信 群
新增小編微信:tangguoyemeng,備註“進群”即可,加入【雲端計算學習交流群】,和志同道合的朋友們共同打卡學習!
成為群成員,或拉人進群,
還有機會參與紅包抽獎,獲得免費贈書哦~~
02
徵 稿
CSDN作為國內專業的雲端計算服務平臺,目前提供雲端計算、大資料、虛擬化、資料中心、OpenStack、CloudStack、機器學習、智慧演算法等相關雲端計算觀點、技術、平臺、實踐、雲產業諮詢等服務。CSDN 公眾號也一直堅持「與千萬技術人共成長」的理念,深度解讀行業內熱門技術與場景應用,致力於讓所有開發者保持敏銳的技術嗅覺、對行業趨勢與技術獲得更廣闊的認知。
文章題材
首先你需要關注我們的公眾號“CSDN雲端計算”,這樣你會更準確瞭解我們需要的文章風格;
側重於雲端計算領域相關的文章,可以是技術、運維、趨勢等方面的務實內容;
原創,要求文章有鮮明觀點和看法。
投稿須知
稿費:根據原創性、實用性和時效性等方面進行稽核,通過的文章會發布在本微信平臺。一經採用,我們將支付作者酬勞。酬勞可能不多,這代表的是一個心意,更多是因為愛好,是有識之士抒發胸懷的一種方式;
字數要求:稿件字數以2K-8K為宜,少於2K或多於8K都會一定程度降低閱讀愉悅感;
投稿郵箱:[email protected]。或者新增微信表明來意,微訊號:tangguoyemeng。請備註投稿+姓名+公司職位。
如果咱們的合作穩定又愉快,還可以簽訂合同長期合作哦!
2018 AI開發者大會
◆
拒絕空談,技術爭鳴
◆
2018 AI開發者大會(AI NEXTCon)由中國IT社群CSDN與矽谷AI社群AICamp聯合出品的AI技術與產業年度盛會。多年經驗淬鍊,如今蓄勢待發:將有近百位中美頂尖AI專家、知名企業代表以及千餘名AI開發者齊聚北京,進行技術解讀和產業論證。我們只講技術,拒絕空談,誠摯邀請AI業內人士一起共鑄人工智慧新篇章!
2018 AI開發者大會首輪重磅嘉賓及深度議題現已火熱出爐,掃碼搶“鮮”看。國慶特惠,購票立享 5 折優惠!