遊戲開發與程序設計知識總結03——演算法

更新日誌

每此對思維導圖有改動或者在github中有了對應的實現,則增加一條更新日誌。

2017.9.2:

  • 確定更新為系列文章並持續維護

前言

這這是遊戲開發與程序設計知識總結系列文章的第三篇演算法,下一篇是操作系統。本系列文章的初衷源於我正在找工作,所以對開發工作中用到的一些知識點想做一次完整的梳理,查缺補漏。是遊戲開發與程序設計知識總結系列文章的第三篇演算法,預計下一篇是GamePlay。本系列文章的初衷源於我正在找工作,所以對開發工作中用到的一些知識點想做一次完整的梳理,查缺補漏。

每篇文章預計梳理某一模塊的內容,每篇文章都以思維導圖的形式將知識點串聯起來,所有思維導圖都採用xmind製作。所有文章都會貼上思維導圖導出的png格式的圖片,並在文章中附上原文件。大家可以右鍵保存配圖,以圖片方式閱覽。但是本系列文章都是長期維護的,這些圖片不保證在更改思維導圖後能同時配套更新,但原文件總是最新的,所以建議大家下載原文件閱覽。

演算法

本篇文章同樣通過思維導圖的方式梳理總結了一些常用的演算法。在思維導圖中只體現了一些演算法的基本描述和特徵,對於具體實現或深入探討大家可能更感興趣,所以這次有大量的超鏈接。也就是說建議大家下載思維導圖源文件,對每個演算法的具體實現或討論可以通過點擊對應的超鏈接看到。

思維導圖

未展開效果

全展開效果

原文件下載

動畫演示

在整理的過程中有不少通過動畫演示演算法的例子,比如維基百科的配圖。

動畫演示顯然能更加直觀的表明一個演算法的執行過程,這裡推薦給大家兩個網站:

cs.usfca.edu/~galles/vi

visualgo.net/en

關於思維導圖

這幾天通過建立思維導圖的方式梳理各知識點,覺得這種方式異常好用。它能通過圖形的形式將原本就互相關聯的知識點在你的腦中形成一個脈絡,幫助你在回想時按照這個脈絡去聯繫這些知識點。當這些知識點聯繫的密度合適,思維導圖的威力更能體現出來(聯繫密度過高建議用表格的方式)。

參考

編程之法:面試和演算法心得

排序演算法——維基百科

網路流——維基百科

一筆畫問題

插入排序

堆排序

歸併排序

快速排序

桶排序

淺談演算法和數據結構


推薦閱讀:

刷題的日常Day2--調整數組順序
WC2018 即時戰略
Python基礎_1.數據結構與演算法_簡單數據結構
刷題的日常Day3--翻轉鏈表

TAG:演算法與數據結構 |