游戏开发与程序设计知识总结02——数据结构
2017-08-31 本文已影响238人
kashiwa
更新日志
每此对思维导图有改动或者在github中有了对应的实现,则增加一条更新日志。
2017.9.2:
- 确定更新为系列文章并持续维护
- 更新B树,B+树,红黑树的参考链接
- 更新了Huffman树的标注
前言
这是游戏开发与程序设计知识总结系列文章的第二篇数据结构,下一篇是算法总结。本系列文章的初衷源于我正在找工作,所以对开发工作中用到的一些知识点想做一次完整的梳理,查缺补漏。
每篇文章预计梳理某一模块的内容,每篇文章都以思维导图的形式将知识点串联起来,所有思维导图都采用xmind制作。所有文章都会贴上思维导图导出的png格式的图片,并在文章中附上原文件。大家可以右键保存配图,以图片方式阅览。但是本系列文章都是长期维护的,这些图片不保证在更改思维导图后能同时配套更新,但原文件总是最新的,所以建议大家下载原文件阅览。
数据结构
本文对数据结构做了一次简单的梳理,希望帮到看到本文的同学建立数据结构的知识点脉络。本文仅对数据结构进行梳理,对算法的梳理会放到下一篇。但是数据结构和算法实际上是很难分开讨论的,但一篇文章的容量实在有限,与这次列出的数据结构的相关算法也一并列出了,不过具体讨论与梳理会放到在算法总结中。本人数据结构理解也并不深,希望大家能指出有错误的地方我好改正。也欢迎推荐一些数据结构与算法的好资料。
思维导图
设计良好的数据结构可以帮助我们解决问题。对常用的经典数据结构的掌握,可以让我们在适当的时机选择正确的数据结构组织我们的实际问题。建立思维导图可能是更容易梳理各个数据结构关系的方式。
未展开的效果
数据结构
全展开的效果
数据结构
数据结构与算法的掌握最好是在理解的基础上全部撸一遍,并找机会在实践中运用。在往后的日子里,我将逐步将对应的数据结构与算法用C++语言实现一遍,有兴趣的同学可以关注我的github。