1. 程式人生 > >深度實戰玩轉演算法

深度實戰玩轉演算法

第1章 歡迎來到看得見的演算法
歡迎來到看得見的演算法。這個課程將以獨一無二的方式,向你展示演算法究竟有什麼用,在實際專案中能做什麼,並向你一一展示通過學習這個課程,你將能夠製作出多麼酷炫的程式:)
1-1 歡迎來到看得見的演算法
1-2 學習這個課程將完成什麼專案?
1-3 關於本課程的程式設計環境
1-4 更多學習本課程的注意事項

第2章 要想看得見,先要搞定GUI程式設計
在這一章,你將從0開始接觸Java Swing程式設計,進入GUI的程式設計世界。通過這一章的學習,你將瞭解Java Swing最基本的用法。在這一章的最後,你將能夠使用Java Swing製作簡單額動畫,並且能夠使用鍵盤滑鼠進行互動。
2-1 使用JFrame
2-2 建立屬於自己的第一個JFrame子類
2-3 設定畫布與圖形繪製基礎
2-4 使用Graphics2D
2-5 整理繪製工具類
2-6 高階繪製特性:抗鋸齒和雙快取
2-7 動畫基礎
2-8 演算法視覺化中的MVC
2-9 鍵盤事件
2-10 滑鼠事件
2-11 課程所使用的GUI程式設計模板

第3章 概率模擬演算法
什麼是蒙特卡洛演算法?如果一個房間有100個人,每一時刻所有人都隨機給另外的人一塊錢,一定時間以後,房間里人們的財富分配是怎樣的?怎麼求解PI的近似值?著名的三門問題是怎麼回事?遊戲裡的寶箱,有20%的中獎率,開啟5個寶箱就一定能中獎嗎?對於這些問題,在這一章將統統給你答案!...
3-1 一個有意思的分錢模擬問題
3-2 深入隨機分錢問題
3-3 蒙特卡洛演算法
3-4 使用蒙特卡洛演算法求PI值
3-5 不需要視覺化的蒙特卡洛模擬
3-6 三門問題
3-7 你一定能中獎嗎?

第4章 排序演算法視覺化
有沒有見過網上酷炫的排序過程動畫?在這一章,我們將帶領你製作選擇排序,插入排序,歸併排序,快速排序和堆排序的動畫。通過這些動畫,我們將更深入的理解這些排序演算法的優劣,以及相應的優化思路:)
4-1 選擇排序演算法視覺化.
4-2 為視覺化新增更多效果
4-3 插入排序視覺化.
4-4 在近乎有序的資料上測試插入排序演算法.
4-5 通過歸併排序演算法深入理解遞迴
4-6 歸併排序演算法視覺化.
4-7 快速排序演算法視覺化
4-8 在快速排序中隨機選取標定點
4-9 雙路快速排序演算法視覺化
4-10 三路快速排序演算法視覺化
4-11 堆排序演算法視覺化

第5章 走迷宮
走迷宮是一個經典問題。這一章將針對這個經典問題進行詳細分析,最終完成一個視覺化的計算機自動在迷宮中尋找正確路徑的動畫應用。通過這個動畫的製作,我們還將深入分析深度優先遍歷和廣度優先遍歷,發現這二者之間最為重要的聯絡。...
5-1 處理迷宮檔案
5-2 迷宮視覺化
5-3 迷宮問題和圖的遍歷
5-4 深度優先遞迴走迷宮
5-5 迷宮問題與回溯法
5-6 非遞迴深度優先走迷宮
5-7 非遞迴深度優先走迷宮求解最終路徑
5-8 廣度優先走迷宮問題
5-9 深度優先遍歷和廣度優先遍歷的內在聯絡

第6章 隨機迷宮生成
RPG遊戲中的迷宮都是如何隨機生成的?在這一章,我們將探索一種隨機迷宮的生成演算法,並且完成一個從無到獲得完整酷炫迷宮的動畫過程。通過學習這個演算法,我們也將領悟,如何在深入理解經典演算法的基礎上,改進演算法,製作個性化的資料結構,來完成不一樣的目標。 ...
6-1 什麼是迷宮
6-2 生成迷宮基礎
6-3 深度優先遍歷生成迷宮
6-4 非遞迴深度優先遍歷生成迷宮
6-5 廣度優先遍歷生成迷宮
6-6 隨機佇列生成迷宮
6-7 迷宮生成的迷霧效果
6-8 生成隨機性更強的迷宮
6-9 更多迷宮問題

第7章 自己做一個掃雷遊戲
雖然遊戲引擎越來越發達,但並非所有的遊戲都能夠通過拖拖拽拽來完成。掃雷就是一個例子。通過這章的學習,我們將探索製作掃雷這個遊戲背後的演算法,讓大家認識到演算法無處不在。即使是一個簡單的掃雷,如果不會演算法,還真實現不出來呢:)...
7-1 掃雷是什麼鬼?掃雷裡包含什麼演算法?
7-2 掃雷程式碼基礎
7-3 隨機生成雷區
7-4 驗證隨機生成雷區演算法的隨機性
7-5 Fisher-Yates洗牌演算法的應用
7-6 為掃雷程式加入互動
7-7 掃雷與floodfill演算法
7-8 更多掃雷相關和floodfill演算法的應用

第8章 益智遊戲自動生成解 - Move the Box
喜歡益智遊戲,但是腦細胞不夠用?讓我們程式設計來自動求解一個益智遊戲吧!通過這個過程,我們也將初步接觸經典人工智慧的核心思想——搜尋。希望學完了本章課程,你不僅能夠學會自動求解Move the Box這個遊戲,還能夠自己寫出求解其他益智遊戲的自動化演算法。分分鐘掌握黑科技!...
8-1 玩一玩Move the Box
8-2 求解Move the Box的資料架構
8-3 求解Move the Box的渲染
8-4 搜尋框架
8-5 處理箱子掉落過程
8-6 處理箱子消除過程
8-7 顯示問題的解
8-8 更多搜尋優化思路
8-9 更多人工智慧相關

第9章 分形圖的繪製:計算機生成藝術
計算機演算法不僅僅可以用於計算求解,還可以用於藝術領域!分形藝術便是其中之一。在這一章中,我們將學習形形色色的分形圖的繪製方法,用程式碼生成絢麗的圖案,幫助你實現藝術家的夢想!
9-1 分形到底是什麼鬼
9-2 遞迴繪製基礎
9-3 Vicsek 分形圖的繪製
9-4 為分形繪製新增互動
9-5 Sierpinski 分形繪製
9-6 Sierpinski 三角形
9-7 Koch雪花分形背後的數學分析
9-8 編寫Koch雪花分形
9-9 利用分形繪製樹

第10章 看得見的演算法,下季再見!
準備這個選題的時候,我列出了可以講解的20餘種應用,之後挑選了難度適中且具有代表性的7個形成了現在的課程。演算法的用處其實還多著呢。如果大家喜歡,我將繼續為大家奉獻:看得見的演算法,第二季!:)
10-1 看得見的演算法,下一季再見!

下載地址:百度網盤下載