遊戲開發與程序設計知識總結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 面試題:等差子序列

TAG:數據結構 | 演算法與數據結構 |