遊戲開發與程序設計知識總結02——數據結構
更新日誌
每次對思維導圖有改動或者在github中有了對應的實現,則增加一條更新日誌。
2017.9.2:
- 確定更新為系列文章並持續維護
- 更新B樹,B+樹,紅黑樹的參考鏈接
- 更新了Huffman樹的標註
前言
這是遊戲開發與程序設計知識總結系列文章的第二篇數據結構,下一篇是演算法總結。本系列文章的初衷源於我正在找工作,所以對開發工作中用到的一些知識點想做一次完整的梳理,查缺補漏。
每篇文章預計梳理某一模塊的內容,每篇文章都以思維導圖的形式將知識點串聯起來,所有思維導圖都採用xmind製作。所有文章都會貼上思維導圖導出的png格式的圖片,並在文章中附上原文件。大家可以右鍵保存配圖,以圖片方式閱覽。但是本系列文章都是長期維護的,這些圖片不保證在更改思維導圖後能同時配套更新,但原文件總是最新的,所以建議大家下載原文件閱覽。
數據結構
本文對數據結構做了一次簡單的梳理,希望幫到看到本文的同學建立數據結構的知識點脈絡。本文僅對數據結構進行梳理,對演算法的梳理會放到下一篇。但是數據結構和演算法實際上是很難分開討論的,但一篇文章的容量實在有限,與這次列出的數據結構的相關演算法也一併列出了,不過具體討論與梳理會放到在演算法總結中。本人數據結構理解也並不深,希望大家能指出有錯誤的地方我好改正。也歡迎推薦一些數據結構與演算法的好資料。
思維導圖
設計良好的數據結構可以幫助我們解決問題。對常用的經典數據結構的掌握,可以讓我們在適當的時機選擇正確的數據結構組織我們的實際問題。建立思維導圖可能是更容易梳理各個數據結構關係的方式。
未展開的效果
全展開的效果
原文件下載
數據結構與演算法的掌握最好是在理解的基礎上全部擼一遍,並找機會在實踐中運用。在往後的日子裡,我將逐步將對應的數據結構與演算法用C++語言實現一遍,有興趣的同學可以關注我的github。
參考
數據結構與演算法分析——C語言描述
演算法圖解
數據結構——維基百科
推薦閱讀:
※浙江大學-數據結構-小白專場:C語言實現如何建立圖-6.5.3
※浙江大學-數據結構-簡單排序-9.1.3
※浙江大學-數據結構-希爾排序-9.2.1
※數據結構3.5
※九章演算法 | Facebook 面試題:等差子序列