/Play-with-Algorithm-Visualization

Codes of my MOOC Course <Play with Algorithm Visualization>. Updated contents and more demos or practices are also included. 我在慕课网上的课程《看得见的算法》Java示例代码。课程的更多更新内容及辅助练习也将逐步添加进这个代码仓。

Primary LanguageJava

看得见的算法(第一季) - 课程官方代码仓

大家好, 欢迎大家来到我在慕课网上的实战课程《看得见的算法(第一季)》的官方代码仓。这个代码仓将不仅仅包含课程的所有源代码,还将发布课程的更新相关内容,勘误信息以及计划的更多可以丰富课程的内容,如更多分享,多多练习,等等等等。课程源码为Java语言源代码。关于更多语言的支持,今后有时间,我会慢慢更新这个代码仓(不过预计会是蜗牛速了>_<)。大家可以下载、运行、测试、修改。如果你发现了任何bug,或者对课程中的任何内容有意见或建议,欢迎和我联系:)

个人网站liuyubobobo.com [废弃重整中...]

电子邮件liuyubobobo@gmail.com

微博: 刘宇波bobo http://weibo.com/liuyubobobo

知乎: 刘宇波 http://www.zhihu.com/people/liuyubobobo

知乎专栏:是不是很酷 https://zhuanlan.zhihu.com/liuyubobobo

个人公众号:是不是很酷:)

qrcode

课程相关其他代码仓

更多推荐

  • 感谢学习课程的大佬 @田小号 基于Canvas实现的迷宫可视化。有兴趣的同学可以去大佬的代码仓围观。同时,@田小号 还基于Canvas实现了我的《修炼算法内功》和《玩转数据结构》两门课程中诸多算法和数据结构的可视化内容,大家不要错过!

    代码仓传送门:https://github.com/tianxiaohao1/codding.cn/tree/master/algo

maze

  • 如果大家有学习这个课程后受启发,制作出的好的算法可视化的代码仓,也请联系我。免费广告位在此预留:)

课程源码目录

第一章 欢迎来到看得见的算法 Java源码
1-1 欢迎来到看得见的算法 [无代码]
1-2 学习这个课程将完成什么项目? [无代码]
1-3 关于本课程的编程环境 [无代码]
1-4 更多学习本课程的注意事项 [无代码]
第二章 要想看得见,先要搞定GUI编程 章节Java代码
2-1 使用JFrame Java
2-2 创建属于自己的第一个JFrame子类 Java
2-3 设置画布与图形绘制基础 Java
2-4 使用Graphics2D Java
2-5 整理绘制工具类 Java
2-6 高级绘制特性:抗锯齿和双缓存 Java
2-7 动画基础 Java
2-8 算法可视化中的MVC Java
2-9 键盘事件 Java
2-10 鼠标事件 Java
2-11 课程所使用的GUI编程模板 Java
第二章完整代码 Java
第三章 概率模拟算法 章节Java代码
3-1 一个有意思的分钱模拟问题 Java
3-2 深入随机分钱问题 Java
3-3 蒙特卡洛算法 Java
3-4 使用蒙特卡洛算法求PI值 Java
3-5 不需要可视化的蒙特卡洛模拟 Java
3-6 三门问题 Java
3-7 你一定能中奖吗? Java
第三章完整代码 Java
第四章 排序算法可视化 章节Java代码
4-1 选择排序算法可视化 Java
4-2 为可视化添加更多效果 Java
4-3 插入排序可视化 Java
4-4 在近乎有序的数据上测试插入排序算法 Java
4-5 通过归并排序算法深入理解递归 Java
4-6 归并排序算法可视化 Java
4-7 快速排序算法可视化 Java
4-8 在快速排序中随机选取标定点 Java
4-9 双路快速排序算法可视化 Java
4-10 三路快速排序算法可视化 Java
4-11 堆排序算法可视化 Java
第四章完整代码 Java
第五章 走迷宫 章节Java代码
5-1 处理迷宫文件 Java
5-2 迷宫可视化 Java
5-3 迷宫问题和图的遍历 [无代码]
5-4 深度优先递归走迷宫 Java
5-5 迷宫问题与回溯法 Java
5-6 非递归深度优先走迷宫 Java
5-7 非递归深度优先走迷宫求解最终路径 Java
5-8 广度优先走迷宫问题 Java
5-9 深度优先遍历和广度优先遍历的内在联系 [无代码]
第五章完整代码 Java
第六章 随机迷宫生成 章节Java代码
6-1 什么是迷宫 [无代码]
6-2 生成迷宫基础 Java
6-3 深度优先遍历生成迷宫 Java
6-4 非递归深度优先遍历生成迷宫 Java
6-5 广度优先遍历生成迷宫 Java
6-6 随机队列生成迷宫 Java
6-7 迷宫生成的迷雾效果 Java
6-8 生成随机性更强的迷宫 Java
6-9 更多迷宫问题 [无代码]
第六章完整代码 Java
第七章 自己做一个扫雷游戏 章节Java代码
7-1 扫雷是什么鬼?扫雷里包含什么算法? [无代码]
7-2 扫雷代码基础 Java
7-3 随机生成雷区 Java
7-4 验证随机生成雷区算法的随机性 Java
7-5 Fisher-Yates洗牌算法的应用 Java
7-6 为扫雷程序加入交互 Java
7-7 扫雷与floodfill算法 Java
7-8 更多扫雷相关和floodfill算法的应用 [无代码]
第七章完整代码 Java
第八章 益智游戏自动生成解 - Move the Box 章节Java代码
8-1 玩一玩Move the Box [无代码]
8-2 求解Move the Box的数据架构 Java
8-3 求解Move the Box的渲染 Java
8-4 搜索框架 Java
8-5 处理箱子掉落过程 Java
8-6 处理箱子消除过程 Java
8-7 显示问题的解 Java
8-8 更多搜索优化思路 [无代码]
8-9 更多人工智能相关 [无代码]
第八章完整代码 Java
补充代码1: 求解过程加交互 Java
补充代码2: 使用HashSet求解 Java
第九章 分形图的绘制:计算机生成艺术 章节Java代码
9-1 分形到底是什么鬼 [无代码]
9-2 递归绘制基础 Java
9-3 Vicsek 分形图的绘制 Java
9-4 为分形绘制添加交互 Java
9-5 Sierpinski 分形绘制 Java
9-6 Sierpinski 三角形 Java
9-7 Koch雪花分形背后的数学分析 [无代码]
9-8 编写Koch雪花分形 Java
9-9 利用分形绘制树 Java
第九章完整代码 Java
补充代码1: 另一种Vicsek分形 Java
第十章 看得见的算法,下季再见! [无代码]
10-1 看得见的算法,下一季再见! [无代码]

  • 做这个课程的时候,一气儿设想了20多个demo,用来展示算法的实际运用。本以为是个很好的选题,毕竟大家平时使用算法都过于抽象。如果可能,这个选题可以出好几季,让大家真正做到“看见”这些算法。但是没想到课程推出以后,销量非常差。所以这个课程的后几季的制作计划暂时只能暂停。请谅解。

  • 但这个课程本身依然自成体系,是我在慕课网做过的课程中,最喜欢的课程。也相信非常值得大家学习。希望大家喜欢。万一,只是万一,这个课程在以后的时间里突然火起来了,慕课网肯定会联系我做第二季第三季的:)

  • 课程讲义的PDF版本不在github上提供,大家可以在慕课网上 "下载 -> 查看讲师源码" 中各个章节文件夹下找到。

  • 大家加油!:)