Allen Kashiwa Blog

羁旅红尘不曾醉,笑歌年少且长行。

专注游戏开发与设计


唯佳人与游戏不可辜负

游戏开发与程序设计知识总结03——算法

更新日志

每此对思维导图有改动或者在github中有了对应的实现,则增加一条更新日志。

2017.9.2:

  • 确定更新为系列文章并持续维护

前言

这这是游戏开发与程序设计知识总结系列文章的第三篇算法,下一篇是操作系统。本系列文章的初衷源于我正在找工作,所以对开发工作中用到的一些知识点想做一次完整的梳理,查缺补漏。是游戏开发与程序设计知识总结系列文章的第三篇算法,预计下一篇是GamePlay。本系列文章的初衷源于我正在找工作,所以对开发工作中用到的一些知识点想做一次完整的梳理,查缺补漏。

每篇文章预计梳理某一模块的内容,每篇文章都以思维导图的形式将知识点串联起来,所有思维导图都采用xmind制作。所有文章都会贴上思维导图导出的png格式的图片,并在文章中附上原文件。大家可以右键保存配图,以图片方式阅览。但是本系列文章都是长期维护的,这些图片不保证在更改思维导图后能同时配套更新,但原文件总是最新的,所以建议大家下载原文件阅览。

算法

本篇文章同样通过思维导图的方式梳理总结了一些常用的算法。在思维导图中只体现了一些算法的基本描述和特征,对于具体实现或深入探讨大家可能更感兴趣,所以这次有大量的超链接。也就是说建议大家下载思维导图源文件,对每个算法的具体实现或讨论可以通过点击对应的超链接看到。

思维导图

未展开效果 image

全展开效果 image

原文件下载

动画演示

在整理的过程中有不少通过动画演示算法的例子,比如维基百科的配图。

动画演示显然能更加直观的表明一个算法的执行过程,这里推荐给大家两个网站:

http://www.cs.usfca.edu/~galles/visualization/Algorithms.html

https://visualgo.net/en

关于思维导图

这几天通过建立思维导图的方式梳理各知识点,觉得这种方式异常好用。它能通过图形的形式将原本就互相关联的知识点在你的脑中形成一个脉络,帮助你在回想时按照这个脉络去联系这些知识点。当这些知识点联系的密度合适,思维导图的威力更能体现出来(联系密度过高建议用表格的方式)。

参考

编程之法:面试和算法心得

排序算法——维基百科

网络流——维基百科

一笔画问题

插入排序

堆排序

归并排序

快速排序

桶排序

浅谈算法和数据结构

用支付宝请我喝咖啡

用微信请我吃辣条

最近的文章

游戏开发与程序设计知识总结04——操作系统

更新日志每此对思维导图有改动或者在github中有了对应的实现,则增加一条更新日志。2017.9.10: 增加了进程调度算法、虚拟内存、页面置换算法、链接等内容前言这是游戏开发与程序设计知识总结系列文章的第四篇操作系统,预计下一篇是游戏前端开发。本系列文章的初衷源于我正在找工作,所以对开发工作中用到的一些知识点想做一次完整的梳理,查缺补漏。每篇文章预计梳理某一模块的内容,每篇文章都以思维导图的形式将知识点串联起来,所有思维导图都采用xmind制作。所有文章都会贴上思维导图导出的png格式...…

继续阅读
更早的文章

游戏开发与程序设计知识总结02——数据结构

更新日志每此对思维导图有改动或者在github中有了对应的实现,则增加一条更新日志。2017.9.2: 确定更新为系列文章并持续维护 更新B树,B+树,红黑树的参考链接 更新了Huffman树的标注前言这是游戏开发与程序设计知识总结系列文章的第二篇数据结构,下一篇是算法总结。本系列文章的初衷源于我正在找工作,所以对开发工作中用到的一些知识点想做一次完整的梳理,查缺补漏。每篇文章预计梳理某一模块的内容,每篇文章都以思维导图的形式将知识点串联起来,所有思维导图都采用xmind制作。所有文...…

继续阅读