決戰Offer 排序

2021-07-10 09:17:41 字數 1135 閱讀 8458

昨天寫了超長篇幅的排序演算法比較以及執行流程,晚上firefox崩了,markdown還沒有自動儲存,白寫了。最近挺忙,就不在寫了,放上個演算法效能比較吧。

快速排序,歸併排序,堆排序是重點

桶排序是最快的排序,時間複雜度只有o(n),但是它的使用是有條件的,就是待排序的數必須是自然數,且這些數還沒有重複,對輸入要求比較高啊,不過一旦你知道你的輸入是什麼形式的話用桶排可以節省一些時間。要求空間複雜度也最高!

下面是大致排序思路:

準備10個空桶,最大數個空桶

[6 2 4 1 5 9] 待排陣列

[0 0 0 0 0 0 0 0 0 0] 空桶

[0 1 2 3 4 5 6 7 8 9] 桶編號(實際不存在)

1)順序從待排陣列中取出數字,首先6被取出,然後把6入6號桶,這個過程類似這樣:空桶[ 待排陣列[ 0 ] ] = 待排陣列[ 0 ]

[62 4 1 5 9] 待排陣列

[0 0 0 0 0 060 0 0] 空桶

[0 1 2 3 4 567 8 9] 桶編號(實際不存在)

2)順序從待排陣列中取出下乙個數字,此時2被取出,將其放入2號桶,是幾就放幾號桶

[6 24 1 5 9] 待排陣列

[0 020 0 060 0 0] 空桶

[0 123 4 567 8 9] 桶編號(實際不存在)

3,4,5,6省略,過程一樣,全部入桶後變成下邊這樣

[6 2 4 1 5 9] 待排陣列

[01 204 5 60 09] 空桶

[01 234 5 67 89] 桶編號(實際不存在)

決戰Offer 計算機網路

tcp ip協議族四層模型 資料鏈路層 網路層 傳輸層 應用層 osi七層模型 物理層 資料鏈路層 網路層 傳輸層 會話層 表示層 應用層 資料鏈路層 例如乙太網驅動程式 網路層 兩台機器一般通過很多個中間節點進行通訊,選擇這些中間節點讓這兩台計算機進行通訊。路由器就是工作在網路層。ip協議 傳輸層...

決戰2015校招

主要原因可能 沒寫好,下回一定要形成思路再動筆。然後就是字要寫好一點,不要潦草。9月18日晚 同學接到zx的面試通知,希望也會通知我吧。接到lc通知,明天迎來第一面!9月19日 lc一面 感覺沒答好 資料鏈路層的協議有哪些,b樹的定義,mapreduce的優點在哪?得認真看書了。xw一面 基本沒問我...

決戰大資料摘錄

第一部分 從資料化運營到運營資料 1 大資料,為什麼很多人只會談,不會做 1 大資料的經典定義4v 海量的資料規模 volume 快速的資料流轉和動態的資料體系 velocity 多樣的資料型別 variety 和巨大的資料價值 value 2 斷層是大資料所面臨的嚴重問題,收集資料的人不知道將來的...