• Stars
    star
    151
  • Rank 246,057 (Top 5 %)
  • Language
    Java
  • Created over 5 years ago
  • Updated about 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Codes of my MOOC Course <Play Graph Algorithms in Java>. Updated contents and practices are also included. 我在慕课网上的课程《Java语言玩转图论算法》示例代码。课程的更多更新内容及辅助练习也将逐步添加进这个代码仓。

玩儿转图论算法 - 课程官方代码仓

大家好, 欢迎大家来到我在慕课网上的实战课程《玩儿转图论算法》的官方代码仓。这个代码仓将不仅仅包含课程的所有源代码,还将发布课程的更新相关内容,勘误信息以及计划的更多可以丰富课程的内容,如更多分享,多多练习,等等等等。课程全部使用Java语言讲解,课程代码仓暂时只提供Java语言版本。

大家可以下载、运行、测试、修改。如果你发现了任何bug,或者对课程中的任何内容有意见或建议,欢迎和我联系:)

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

电子邮件[email protected]

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

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

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

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

QRCode

更多说明

  • 每一章后面有补充代码的部分。课程本身已经独立成体系,补充内容只是额外拓展,不影响课程整体的学习。对于课程整体学习,可以忽略。建议先完成课程必要部分学习,再酌情研究补充内容。

  • 对于补充代码部分的内容,大多是课程中提及的拓展内容。对于这部分内容,我会不定期更新代码,但不保证时间。放在课程目录中,主要是供大家拓展思路使用。大家也可以理解成是思考练习,可以自行编写代码练习完成补充内容,相信是很好的编程锻炼:)当然,有任何问题可以在问答区进行提问。

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

  • 请不要使用github,微信,QQ,邮件进行答疑。 请使用课程问答区进行答疑。谢谢!

重要:本课程前置课程

本课程前置课程为我的《玩转数据结构》,建议学习完《玩转数据结构》再学习本课程,效果更好:)

《玩转数据结构》课程, 代码仓: Play-with-Data-Structures

更多相关代码仓

更多推荐

  • 感谢学习课程的大佬 @nicemayi 同学使用 Python 完成了课程的全部内容。有使用Python学习课程的同学,可以去大佬的代码仓观望。传送门:https://github.com/nicemayi/play-with-graph-algorithms 同时,在这个代码仓下,还有大佬写的这个课程的学习笔记,简明扼要,非常有价值!

课程源码目录

第一章 欢迎大家学习《玩儿图论算法》 [无代码]
1-1 欢迎大家学习《玩儿转图论算法》 [无代码]
1-2 课程学习的更多说明 [无代码]
1-3 课程编程环境的搭建 [无代码]
第二章 图论基础 章节 Java 源码
2-1 图的分类 [无代码]
2-2 图的基本概念 [无代码]
2-3 图的基本表示:邻接矩阵 Java
2-4 更多图的方法 Java
2-5 图的基本表示:邻接表 [无代码]
2-6 邻接表的实现 Java
2-7 邻接表的问题和改进 [无代码]
2-8 实现邻接表的改进 Java
2-9 图的基本表示的比较 Java
第三章 图的深度优先遍历 章节 Java 源码
3-1 数据结构遍历的意义 [无代码]
3-2 从树的深度优先遍历到图的深度优先遍历 [无代码]
3-3 DFS逻辑的微观解读 [无代码]
3-4 实现图的深度优先遍历 Java
3-5 图的深度优先遍历的改进 Java
3-6 更多关于图的深度优先遍历 [无代码]
3-7 【文字】邻接矩阵的深度优先遍历 [见慕课网代码仓]
3-8 【文字】创建统一的图接口 [见慕课网代码仓]
3-9 【文字】深度优先遍历的非递归实现 [见慕课网代码仓]
第四章 图的深度优先遍历的应用 章节 Java 源码
4-1 图的联通分量的个数 Java
4-2 DFS 中的一个小技巧 Java
4-3 求解联通分量 Java
4-4 单源路径问题 [无代码]
4-5 单源路径问题的编程实现 Java
4-6 【文字】单源路径问题的小优化 [见慕课网代码仓]
4-7 【文字】所有点对路径问题 [见慕课网代码仓]
4-8 提前结束递归:路径问题的另一个优化 Java
4-9 无向图的环检测问题 Java
4-10 二分图检测 [无]
4-11 实现二分图检测 Java
4-12 本章小结和更多拓展 [无]
补充内容 1 所有路径问题 -
第五章 图的广度优先遍历 章节 Java 源码
5-1 从树的广度优先遍历到图的广度优先遍历 [无]
5-2 图的 BFS 的实现 Java
5-3 使用 BFS 求解路径问题 Java
5-4 【文字】更多关于使用 BFS 求解路径问题 [见慕课网代码仓]
5-5 【文字】使用 BFS 求解联通分量问题 [见慕课网代码仓]
5-6 【文字】使用 BFS 求解环检测问题 [见慕课网代码仓]
5-7 【文字】使用 BFS 求解二分图检测问题 [见慕课网代码仓]
5-8 BFS 的重要性质 [无]
5-9 无权图的最短路径 Java
5-10 DFS 和 BFS 的神奇联系,与本章小结 [无]
第六章 图论问题建模和 Floodfill 章节 Java 源码
6-1 算法笔试中图论问题的书写 Java
6-2 图的建模和二维数组中的小节
6-3 实现图的建模问题 Java
6-4 Flood Fill Java
6-5 更多关于 Flood Fill 的问题 [无]
6-6 【文字】联通性和并查集 [见慕课网代码仓]
6-7 【文字】在 Leetcode 上的更多优化 [见慕课网代码仓]
第七章 图论搜索和人工智能 章节 Java 源码
7-1 算法笔试中的 BFS 问题 Java
7-2 图论建模的核心:状态表达 [无]
7-3 实现转盘锁问题 Java
7-4 一道智力题 Java
7-5 代码实现一道智力题 Java
7-6 Leetcode 上一个困难的问题 Java
7-7 实现滑动谜题 Java
7-8 图论搜索和人工智能 [无]
补充代码1 过河问题代码参考 -
第八章 桥,割点和图的遍历树 章节 Java 源码
8-1 什么是桥 [无]
8-2 如何寻找桥 [无]
8-3 完整模拟寻找桥算法 [无]
8-4 实现寻找桥算法 Java
8-5 图的遍历树 [无]
8-6 割点和寻找割点的算法 [无]
8-7 实现寻找割点的算法 Java
8-8 本章小结:寻找桥和割点 [无]
第九章 哈密尔顿回路和状态压缩 章节 Java 源码
9-1 哈密尔顿回路和 TSP [无]
9-2 求解哈密尔顿回路的算法 [无]
9-3 实现哈密尔顿回路算法 Java
9-4 哈密尔顿回路算法的一个优化 Java
9-5 【文字】哈密尔顿路径算法 [见慕课网代码仓]
9-6 Leetcode 上的哈密尔顿问题 Java
9-7 状态压缩 [无]
9-8 基于状态压缩的哈密尔顿回路算法 Java
9-9 记忆化搜索 Java
9-10 哈密尔顿回路和哈密尔顿路径小结 [无]
第十章 欧拉回路与欧拉路径 章节 Java 源码
10-1 什么是欧拉回路 [无]
10-2 欧拉回路的存在性 [无]
10-3 实现欧拉回路存在的判断 Java
10-4 求解欧拉回路的三种算法 [无]
10-5 Hierholzer 算法模拟 [无]
10-6 实现 Hierholzer 算法 Java
10-7 欧拉路径和更多欧拉回路相关问题 [无]
补充代码 1 欧拉路径 -
补充代码 2 欧拉回路的递归实现 -
第十一章 最小生成树 章节 Java 源码
11-1 带权图及实现 Java
11-2 Map 的遍历 Java
11-3 最小生成树和 Kruuskal 算法 [无]
11-4 切分定理 [无]
11-5 Kruskal 算法的实现 Java
11-6 并查集动态环检测 Java
11-7 Prim 算法原理 [无]
11-8 Prim 算法的实现 Java
11-9 Prim 算法的优化 Java
11-10 关于最小生成树问题的更多讨论 [无]
第十二章 最短路径算法 章节 Java 源码
12-1 有权图的最短路径问题 [无]
12-2 Dijkstra 算法的原理和模拟 [无]
12-3 实现 Dijkstra 算法 Java
12-4 Dijkstra 算法的优化 Java
12-5 更多关于 Dijkstra 算法的讨论 Java
12-6 Bellman-Ford 算法 [无]
12-7 负权环 [无]
12-8 实现 Bellman-Ford 算法 Java
12-9 更多关于 Bellman-Ford 算法的讨论 Java
12-10 Floyed 算法原理
12-11 实现 Floyed 算法 Java
12-12 更多关于最短路径问题的讨论 [无]
第十三章 有向图算法 章节 Java 源码
13-1 有向图的实现 Java
13-2 有向图算法 Java
13-3 有向图环检测和 DAG Java
13-4 有向图的度:入度和出度 Java
13-5 有向图求解欧拉回路 Java
13-6 拓扑排序 [无]
13-7 拓扑排序的实现 Java
13-8 另一个拓扑排序算法 [无]
13-9 另一个拓扑排序的实现 Java
13-10 有向图的强连通分量 [无]
13-11 Kosaraju 算法 [无]
13-12 Kosaraju 算法的实现 Java
13-13 有向图算法小节 [无]
第十四章 网络流模型和最大流问题 章节 Java 源码
14-1 网络流模型和最大流问题 [无]
14-2 Ford-Fulkerson 思想 [无]
14-3 Edmonds-Karp 算法 [无]
14-4 最大流算法的基本架构 Java
14-5 实现 Edmonds-Karp 算法 Java
14-6 Edmonds-Karp 算法的测试和更多讨论 Java
14-7 最大流问题建模 Java
14-8 本章小结和更多相关讨论 [无]
第十五章 匹配算法 章节 Java 源码
15-1 最大匹配和完全匹配 [无]
15-2 使用最大流算法解决匹配问题 [无]
15-3 实现使用最大流算法解决匹配问题 Java
15-4 从 Leetcode 上一个 Hard 问题看匹配算法建模 Java
15-5 匈牙利算法 [无]
15-6 匈牙利算法的实现 Java
15-7 基于递归实现的匈牙利算法 Java
15-8 匹配问题小结 [无]
第十六章 更广阔的图论算法世界 [更新中,敬请期待]
16-1 大家加油! [无]

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

大家加油!:)

More Repositories

1

Play-with-Algorithms

Codes of my MOOC Course <Play with Algorithms>, Both in C++ and Java language. Updated contents and practices are also included. 我在慕课网上的课程《算法与数据结构》示例代码,包括C++和Java版本。课程的更多更新内容及辅助练习也将逐步添加进这个代码仓。
Java
3,655
star
2

Play-Leetcode

My Solutions to Leetcode problems. All solutions support C++ language, some support Java and Python. Multiple solutions will be given by most problems. Enjoy:) 我的Leetcode解答。所有的问题都支持C++语言,一部分问题支持Java语言。近乎所有问题都会提供多个算法解决。大家加油!:)
C++
2,708
star
3

Play-with-Data-Structures

Codes of my MOOC Course <Play Data Structures in Java>. Updated contents and practices are also included. 我在慕课网上的课程《Java语言玩转数据结构》示例代码。课程的更多更新内容及辅助练习也将逐步添加进这个代码仓。
Java
1,997
star
4

Play-with-Machine-Learning-Algorithms

Code of my MOOC Course <Play with Machine Learning Algorithms>. Updated contents and practices are also included. 我在慕课网上的课程《Python3 入门机器学习》示例代码。课程的更多更新内容及辅助练习也将逐步添加进这个代码仓。
Jupyter Notebook
1,256
star
5

Play-with-Algorithm-Interview

Codes of my MOOC Course <Play with Algorithm Interviews>. Updated contents and practices are also included. 我在慕课网上的课程《玩儿转算法面试》示例代码。课程的更多更新内容及辅助练习也将逐步添加进这个代码仓。
C++
1,112
star
6

ai-learning-roadmap

Ai Learning Roadmap based on lots of open course sources and book materials. 我总结的 AI 学习路径。
430
star
7

Play-with-Linear-Algebra

Codes of my MOOC Course <Play with Linear Algebra>. Updated contents and practices are also included. 我在慕课网上的课程《玩转线性代数》示例代码,使用Python语言。课程的更多更新内容及辅助练习也将逐步添加进这个代码仓。
Python
351
star
8

Play-with-Algorithm-Visualization

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

Play-with-Swift-2

The code of my MOOC Course - <Play with Swift 2>(supporting for the newest Swift 2.2). 我在慕课网上的课程《玩儿转 Swift 2》示例代码及更新(支持最新的Swift2.2)。
Swift
273
star
10

cool-open-sharings

Sharing open source projects, books, or articles in this repo. All sharings will be firstly released in "isn't it cool" 我的公众号《是不是很酷》中的子栏目《【是不是很酷】开源资源 分享》文章和相关资源链接备份。
243
star
11

my-blog

All my original articles will be backed up here. All my articles will be first released in my WeChat Original Account: <Isn't it Cool> 我的公众号《是不是很酷》的文章备份。同时包含我在其他地方的一些零碎文字,以及过往文章的一些补充与修订:)
95
star
12

liuyubobobo

Hi, It's me :)
72
star
13

heart-curve-cplusplus

This repo uses C++ to "draw" a heart shape in your command line. Happy Valentine's Day!
C++
52
star
14

Play-Leetcode-Database

My Solutions to Leetcode Database problems. 我的 Leetcode 数据库题解。大家加油!:)
37
star
15

My-Google-Foobar

My Google Foobar Solutions by Java. 我的 Google Foobar 题解。作为一个 old school 的程序员,所有问题都使用 Java 解决。应该属于少数派了:)
Java
24
star
16

Whats-New-in-Swift3

The code of my MOOC Course - <Play with Swift 3 New Features>. 我在慕课网上的课程《玩儿转 Swift 3新特性》的课程代码。
Swift
22
star
17

Play-Advent-of-Code

My solutions to Advert of Code (http://adventofcode.com/) . All solutions support C++, some support Java and Python:)
C++
8
star
18

Swift-NSDate-Tutorial

Tutorials on how to use swift NSDate or related classes. NSDate, NSDateFormatter, NSCalendar, NSDateComponents, NSDateComponentsFormatter, etc included.
Swift
8
star
19

Canvas-Red-Envelope-Photo

使用Canvas实现微信红包照片效果。慕课网相关公开课程资料。
JavaScript
8
star
20

HackerRank-Cracking-the-Coding-Interview

A repo based on the HackerRank Tutorials Course "Cracking the Coding Interview Challenges". All problems are solved by C++.
C++
8
star
21

HackerRank-30-Days-of-Code-Challenges

A repo based on the HackerRank Tutorials Course "30 Days of Code Challenges". All problems are solved by C++.
C++
6
star
22

HackerRank-10-Days-of-Statistics-Challenges

A repo based on the HackerRank Tutorials Course "10 Days of Statistics Challenges". All problems are solved by C++.
C++
6
star
23

Google-Material-Design-Color-in-Swift

An Swift 2.2 Implementation of Google Material Design Color
Swift
5
star
24

Python-Challenge

My solutions to python challenges in http://www.pythonchallenge.com/.
Python
3
star
25

HackerRank-CPlusPlus

A repo based on the HackerRank Track "C++".
C++
2
star
26

OJ-Project-Euler

This repo presents my solutions to Project Euler (https://projecteuler.net) and Project Euler + in HackerRank(https://www.hackerrank.com/contests/projecteuler/challenges)
C++
2
star
27

Swift-Comment-Documentation-Tutorial

This is a tutorial for how to use swift comment to create documentation.
Swift
1
star
28

Swift-Force-Touch-Demos

3 demos using brand new Cocoa Touch API - 3D Touch, to implement a scale, an easy doodle app and a circle generator plus physical effects.
Swift
1
star