看的见的算法 7个经典应用诠释算法精髓

第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 看得见的算法,下一季再见!

下载地址:百度网盘下载

原文地址:https://www.cnblogs.com/fujunboke/p/9992738.html

时间: 2024-11-06 03:47:19

看的见的算法 7个经典应用诠释算法精髓的相关文章

《算法竞赛入门经典》之“算法设计与优化策略”

一.构造法 UVA 120 Stacks of Flapjacks Time Limit: 3000MS     64bit IO Format: %lld & %llu Submit Status uDebug Description Background Stacks and Queues are often considered the bread and butter of data structures and find use in architecture, parsing, op

[转载] - 所谓踏实,并不是踏踏实实追求你的目标,而是踏踏实实把你够得着看得见的就在身边的东西干好

每年一到要找工作的时候,我就能收到很多人给我发来的邮件,总是问我怎么选择他们的 offer,去腾讯还是去豆瓣,去外企还是去国内的企业,去创业还是去考研,来北京还是回老家,该不该去创新工场?该不该去 thoughtworks?……等等,等等.今年从 7 月份到现在,我收到并回复了 60 多封这样的邮件.我更多帮他们整理思路,帮他们明白自己最想要的是什么.(注:我以后不再回复类似的邮件了). 我深深地发现,对于我国这样从小被父母和老师安排各种事情长大的人,当有一天,父母和老师都跟不上的时候,我们几乎

算法竞赛入门经典_4.3_递归

看代码 #include <stdio.h> int f(int n){ return n == 0?1:f(n-1)*n; } int main() { printf("%d\n", f(5)); return 0; } 上面f函数使用了递归,递归由两部分组成,一是递归头,二是递归体. 我们使用gcc调试工具 H:\编程书籍学习\算法竞赛入门经典2代码\算法入门经典第四章>b f 'b' 不是内部或外部命令,也不是可运行的程序 或批处理文件. H:\编程书籍学习\算

7款经典游戏 诠释高级算法精髓

第1章 欢迎来到看得见的算法 欢迎来到看得见的算法.这个课程将以独一无二的方式,向你展示算法究竟有什么用,在实际项目中能做什么,并向你一一展示通过学习这个课程,你将能够制作出多么酷炫的程序:) 第2章 要想看得见,先要搞定GUI编程 在这一章,你将从0开始接触Java Swing编程,进入GUI的编程世界.通过这一章的学习,你将了解Java Swing最基本的用法.在这一章的最后,你将能够使用Java Swing制作简单额动画,并且能够使用键盘鼠标进行交互. 第3章 概率模拟算法 什么是蒙特卡洛

算法竞赛入门经典训练指南

最近在看算法竞赛入门经典训练指南这本书,书中不错的算法我将在博客中发布,和大家共同学习. 题目: 在你的王国里有一条n个头的恶龙,你希望雇一些骑士把它杀死(即砍掉所有头).村里有m个骑士可以雇佣,一个能力值为m的骑士可以砍掉一个直径不超过x的头,且需要支付x个金币.如何雇佣骑士才能砍掉恶龙的所有头,且需要支付的金币最少?注意,一个骑士只能砍一个头(且不能被雇佣两次). 输入格式: 输入包含多组数据.每组数据的第一行为正整数m和n(1<=m,n<=20 000):以下m行每行为一个整数,即恶龙每

算法竞赛入门经典-训练指南(10881-Piotr&#39;s Ants)

题目大意: 一根长度为L的木棍一堆蚂蚁爬,向左或向右,速度都为1,若两蚂蚁碰撞则同时转头(转身时间忽略不计),问T时间之后每只蚂蚁的位置: 输入:t,(t个样例),每个样例输入 L,T,n,接下来是n行每行两个数据,一个POS(位置),一个dir(方向): 输出:按输入顺序输出每只蚂蚁的最终位置,若处于碰撞状态则输出Turning,掉下去输出"Fell off": 解题思路: 本题类似于<挑战程序设计>的一道水题(POJ -1852  Ants),思路题:不过本题输入并不一

算法竞赛入门经典+挑战编程+USACO

下面给出的题目共计560道,去掉重复的也有近500题,作为ACMer Training Step1,用1年到1年半年时间完成.打牢基础,厚积薄发.   一.UVaOJ http://uva.onlinejudge.org  西班牙Valladolid大学的程序在线评测系统,是历史最悠久.最著名的OJ.   二.<算法竞赛入门经典> 刘汝佳  (UVaOJ  351道题)  以下部分内容摘自:http://sdkdacm.5d6d.com/thread-6-1-1.html   "AO

何恺明经典去雾算法

何恺明经典去雾算法 一:由简至美的最佳论文(作者:何恺明  视觉计算组) [视觉机器人:个人感觉学习他的经典算法固然很重要,但是他的解决问题的思路也是非常值得我们学习的] 那是2009年4月24日的早上,我收到了一封不同寻常的email.发信人是CVPR 2009的主席们,他们说我的文章获得了CVPR 2009的最佳论文奖(Best Paper Award).我反复阅读这封邮件以确认我没有理解错误.这真是一件令人难以置信的事情. 北京灰霾照片的去雾结果 CVPR的中文名是计算机视觉与模式识别会议

(Step1-500题)UVaOJ+算法竞赛入门经典+挑战编程+USACO

下面给出的题目共计560道,去掉重复的也有近500题,作为ACMer Training Step1,用1年到1年半年时间完成.打牢基础,厚积薄发. 一.UVaOJ http://uva.onlinejudge.org 西班牙Valladolid大学的程序在线评测系统,是历史最悠久.最著名的OJ. 二.<算法竞赛入门经典> 刘汝佳  (UVaOJ  351道题)  以下部分内容摘自:http://sdkdacm.5d6d.com/thread-6-1-1.html “AOAPC I”是刘汝佳(大