目錄 | 數據結構與劍指Offer系列推文合集

【目錄合集】| 作者 / Edison Zhou

C#刷數據結構+劍指Offer


不知不覺,C#刷劍指Offer的系列推文就結束了,今天就把它們整理成目錄合集。此外,考慮到劍指Offer和數據結構的關聯,建議沒有數據結構基礎的童鞋先看看數據結構,再來看劍指Offer,這樣效果會比較好。

1數據結構

雖然我們現在使用的各種高級編程語言例如C#,Java等,它們已經爲我們實現好了各種數據結構如隊列、棧等,但是學習如何從0到1實現這些數據結構卻是對開發者的技術理解和實踐大有裨益的。因此,我寫了一個每天5分鐘碎片時間溫習數據結構的系列文章,全都都用C#實現的,歡迎閱讀。

線性表

(1)線性表基礎

(2)順序表

(3)單鏈表 Part 1

(4)單鏈表 Part 2

(5)雙鏈表 Part 1

(6)雙鏈表 Part 2

(7)循環鏈表 Part 1

(8)循環鏈表 Part 2

(9)約瑟夫問題

棧和隊列

(1)棧 Part 1

(2)棧 Part 2

(3)隊列 Part 1

(4)隊列 Part 2

(5)隊列 Part 3

二叉樹

(1)二叉樹 Part 1

(2)二叉樹 Part 2

(3)二叉樹 Part 3

(4)二叉樹 Part 4

(5)二叉樹 Part 5

(1)圖 Part 1

(2)圖 Part 2

(3)圖 Part 3

(4)圖 Part 4

(5)圖 Part 5

(6)圖 Part 6

(7)圖 Part 7

(8)圖 Part 8

(9)圖 Part 9

(10)圖 Part 10

查找

(1)查找 Part 1

(2)查找 Part 2

(3)查找 Part 3

(4)查找 Part 4

(5)查找 Part 5

排序

(1)插入類排序

(2)交換類排序

(3)選擇類排序

(4)歸併類排序

2劍指Offer

學習了數據結構之後,即使我們用最熟悉的開發語言實現了各種數據結構,但仍然會覺得好像不知道在什麼時候該用什麼數據結構會更有效。此外,現在各大IT公司招聘開發工程師的時候都將數據結構和算法的題目作爲了第一輪面試的首選,而《劍指Offer》一書中幾十道經典的題目是出鏡率最高的。因此,我精選了《劍指Offer》一書中的33道題目,使用了C#實現了這些題目並寫了單元測試,歡迎閱讀。

(1)二維數組的查找

(2)替換空格

(3)從頭到尾打印鏈表

(4)用兩個棧實現隊列

(5)重建二叉樹

(6)旋轉數組的最小數字

(7)斐波那契數列

(8)二進制中1的個數

(9)數值的整數次方

(10)打印1到最大的N位數

(11)在O(1)時間刪除鏈表節點

(12)調整數組順序使得奇數位於偶數前面

(13)鏈表的倒數第K個數

(14)反轉一個鏈表

(15)合併兩個排序的鏈表

(16)二叉樹的子結構

(17)二叉樹的鏡像

(18)包含Min函數的棧

(19)棧的壓入與彈出序列

(20)從上到下打印二叉樹

(21)二叉搜索樹的後序遍歷序列

(22)二叉樹中和爲某一值的路徑

(23)複雜鏈表的複製

(24)字符串的排列

(25)最小的K個數

(26)連續子數組的最大和

(27)醜數

(28)第一次只出現一次的字符

(29)兩個鏈表的第一個公共節點

(30)數字在排序數組中出現的次數

(31)二叉樹的深度相關題目

(32)字符串的操作相關題目

(33)將字符串轉換爲數字

3小結

到此爲止,針對初級開發者的基礎知識系列部分推文就結束了,有了數據結構和算法題目的知識儲備,可以幫助你寫出較爲高效的代碼。但如果要進階到中級開發者,那就還得學會寫出較爲高質量的代碼,這個就需要軟件設計的相關知識了,包括設計思想、設計原則以及設計模式(我曾經學習設計模式也總結了一個系列的文章,傳送門:設計模式系列文章,這些不是一朝一夕或者短時間內就能正確理解和掌握的。有關技術人的成長,我也建議是一步一腳印,因爲在這個架構師課程隨手可得的時代,大家都比較浮躁,追求短平快的快餐而忽視了平穩的過渡(我也錄製了一個關於技術人成長之路的視頻,可以在本文下方找到和觀看)。剛好,近期我也在溫習敏捷開發、軟件設計、後端技術、架構設計、技術管理等方面的相關知識,它們和具體的開發語言的耦合度並沒有那麼的高,屬於我在《技術人的持續成長之路》一文中所提到的“可平滑遷移和複用的知識和技能”,後面我也計劃總結一些我的學習總結系列文章分享給大家,歡迎大家持續關注!

最後,如果我的推文對大家有一點點幫助,歡迎大家給我點個“在看”,謝謝!

???? C#刷數據結構源碼:https://github.com/EdisonChou/DataStructure.Samples.CSharp

???? C#刷劍指Offer源碼:

https://github.com/EdisonChou/EDC.PointToOffer.Samples.CSharp

???? 技術人的持續成長之路-視頻

視頻配套文字稿:點擊這裏閱讀

- END -


如果本文有用,請點擊“在看”或轉發朋友圈

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章