第1章 和bobo老师一起,玩转图论算法
欢迎大家来到我的新课程:《玩转图论算法》。在这个课程中,我们将一起完整学习图论领域的经典算法,培养大家的图论建模能力。通过这个课程的学习,你将能够真正地,玩转图论算法:)

第2章 图的基本表示
千里之行,驶于足下。解决任何有一个图论算法问题,首先需要用基本的数据结构来表示图。在这一章,我们就将探索图的基本表示问题,学习邻接矩阵和邻接表,进而,也让同学们熟悉这个课程的整体代码风格。

第3章 图的深度优先遍历
任何一种数据结构,都需要进行遍历。图也不例外。通过深入理解树的遍历,掌握图的遍历并不难,在这一章中,我们就将从树的深度优先遍历出发,为大家讲解图的深度优先遍历。通过这个过程,也让同学们更加深刻地理解递归。...

第4章 图的深度优先遍历的应用
别看图的深度优先遍历简单,用处可多了。联通分量,路径问题,环检测,二分图检测,都可以用DFS解决。通过这一章的学习,大家不仅能够解决这些问题,还将进一步,对递归函数的设计与编写,有更深刻的体会。

第5章 图的广度优先遍历
图的广度优先遍历是图的另外一种遍历形式。图的广度优先遍历,不仅仅可以解决大多数DFS可以解决的问题,还拥有着独特的性质。与此同时,在这一章,我们还将揭示DFS和BFS的神奇联系。

第6章 图论问题建模和 floodfill
别看我们只学习了图的DFS和BFS,但其实,已经能够解决80%的面试问题了。在这一章,我们就将通过几个经典算法面试问题,来说说图论问题建模的套路。同时,我们会接触图论领域的一个经典算法:floodfill。

第7章 图论搜索和人工智能
在这一章,我们将来重点关注算法面试中的BFS。不要小看BFS,在这一章,我们求解图论面试问题的过程中,将在不经意间,接触到人工智能领域解决问题的一个重要思想:搜索。而BFS,则是解决一大类人工智能问题的基石。

第8章 桥和割点
对于一张图,我们可以分析出各种不同的指标。桥和割点就是一类很重要的指标,在很多问题中有着巨大的作用。在这一章,我们就来看看求解图中的桥和割点的算法。同时,大家也将更深刻的了解到:DFS决不仅仅是遍历这么简单。...

第9章 欧拉路径和哈密尔顿路径
在这一章,我们将讨论两类特殊的路径问题,欧拉路径和哈密尔顿路径。这两个问题都在图论领域有着举足轻重的地位。同时,通过这一章的学习,同学们不仅可以学习到解决这两个问题的图论算法,还将学习算法设计中的一类重要方法:状态压缩。...

第10章 最小生成树
在这一章,我们将开始迈入有权图的世界,来看最小生成树问题。我们将介绍两种最小生成树算法:Prim和Kruskal。通过这两个算法的学习,大家也将看到高级数据结构,比如并查集和优先队列,在解决复杂算法问题中的作用。

第11章 有向图算法
在这一章,我们将迈入有向图的世界。我们将看有向图和无向图有什么本质的不同,进而深入研究 DAG 的性质,从而学习拓扑排序,关键路径,SCC等算法问题。

第12章 有权图的最短路径
最短路径问题应该是图论领域最典型,也是最古老的应用了。尽管如此,最短路径算法并没有那么简单,不同的最短路径算法,有着各自的优劣和适应场合。在这一章,我们就将系统地学习比较这些最短路径算法。

第13章 网络流
在这一章,我们将接触一种全新的结构:网络。在图论的世界中,对“网络”有着特殊的定义。同时,也能延伸出大名鼎鼎的“网络流”算法。在这一章,我们将学习网络流这一图论领域的“高级算法”,看如何应用它,解决大量实际中的问题。...

第14章 匹配问题
匹配算法可以看作是网络流算法的延伸,也有着自己独特的思想。在这一章,我们将仔细看一种特殊的图结构:二分图,进而,仔细研究其中所涉及的匹配问题。

第15章 更广阔的图论世界
通过这个课程的学习,相信大家已经是图论领域的小牛了。但是,图论领域远远不止如此,甚至很多极其前沿的科学问题,都和图论这个领域有着千丝万缕的联系。希望这个课程是一个开始,让感兴趣的同学们,可以在更广阔的图论世界翱翔。大家加油!...

下载地址:玩转算法系列--图论精讲 面试升职必备(Java版)

玩转算法系列--图论精讲 面试升职必备(Java版)的更多相关文章

  1. 微软BI SSIS 2012 ETL 控件与案例精讲面试 200 问(SSIS 面试题,ETL 面试题)

    开篇介绍 本自测与面试题出自 微软BI SSIS 2012 ETL 控件与案例精讲 (http://www.hellobi.com/course/21) 课程,对于学完本课程的每一课时和阅读完相关辅助 ...

  2. 清北学堂2018DP&图论精讲班 DP部分学习笔记

    Day 1 上午 讲的挺基础的--不过还是有些地方不太明白 例1 给定一个数n,求将n划分成若干个正整数的方案数. 例2 数字三角形 例7 最长不下降子序列 以上太过于基础,不做深入讨论 例3 给定一 ...

  3. 精讲 org.w3c.dom(java dom)解析XML文档

    org.w3c.dom(java dom)解析XML文档 位于org.w3c.dom操作XML会比较简单,就是将XML看做是一颗树,DOM就是对这颗树的一个数据结构的描述,但对大型XML文件效果可能会 ...

  4. 2019春招面试高频题(Java版),持续更新(答案来自互联网)

    第一模块--并发与多线程 Java多线程方法: 实现Runnable接口, 继承thread类, 使用线程池 操作系统层面的进程与线程(对JAVA多线程和高并发有了解吗?) 计算机资源=存储资源+计算 ...

  5. 算法学习 八皇后问题的递归实现 java版 回溯思想

    1.问题描述 八皇后问题是一个以国际象棋为背景的问题:如何能够在 8×8 的国际象棋棋盘上放置八个皇后,使得任何一个皇后都无法直接吃掉其他的皇后?为了达到此目的,任两个皇后都不能处于同一条横行.纵行或 ...

  6. 总结:Java 集合进阶精讲2-ArrayList

    知识点:Java 集合框架图 总结:Java 集合进阶精讲1 总结:Java 集合进阶精讲2-ArrayList 初探: ArrayList底层结构是数组,是List接口的 可变数组的实现,所以会占用 ...

  7. 总结:Java 集合进阶精讲1

    知识点:Java 集合框架图 总结:Java 集合进阶精讲1 总结:Java 集合进阶精讲2-ArrayList 集合进阶1---为集合指定初始容量 集合在Java编程中使用非常广泛,当容器的量变得非 ...

  8. Java岗 面试考点精讲(基础篇01期)

    即将到来金三银四人才招聘的高峰期,渴望跳槽的朋友肯定跟我一样四处找以往的面试题,但又感觉找的又不完整,在这里我将把我所见到的题目做一总结,并尽力将答案术语化.标准化.预祝大家面试顺利. 术语会让你的面 ...

  9. 【C++自我精讲】基础系列二 const

    [C++自我精讲]基础系列二 const 0 前言 分三部分:const用法.const和#define比较.const作用. 1 const用法 const常量:const可以用来定义常量,不可改变 ...

随机推荐

  1. 【Oracle】常用的SQL语句

    抄自:https://www.cnblogs.com/qiu18359243869/p/9474515.html 提示:dual是一个虚拟表,用来构成select的语法规则,oracle保证dual里 ...

  2. WPF 快捷键

    原文:WPF 快捷键 <p><pre name="code" class="csharp"> 前台 <Window.Resourc ...

  3. ASP.NET 数据绑定

    控件绑定数据源控件手动方式: DataSourceID = 数据源控件名称下拉框绑定 A.设置Datasource B.DataTextField="name"' //显示的值 C ...

  4. linux如何修改权限详解

    前言 今日,同事问我,服务器上拷贝过来的tomcat,怎么执行不了./startup.sh.于是,我一想,那肯定是没有权限的问题了.于是使用chmod命令更改了权限后,就可以执行了.项目正常启动.我想 ...

  5. php 利用curl_*测试数据并发

    工作时遇到一个数据并发问题,因为上线之前没有测试数据并发,导致有时候网络比较差的时候导致数据重复插入数据库 , 所以利用curl_*函数专门写了一个测试数据并发的测试用例,如下: function t ...

  6. 怎么在CAD中测量图纸距离?来看看这两种方法

    在CAD中设计图纸最重要的就是图纸的尺寸,俗话说也就是图纸间的距离.通过正确的数据设计出的图纸才能够准确,也能够避免施工时事不必要的误差.那怎么在CAD中测量图纸距离呢?具体要怎么来进行操作呢?下面我 ...

  7. 敏捷软件开发_设计原则<三>

    敏捷软件开发_设计原则 单一职责原则(single responsibilities principle,SRP) 原理:一个类应该只有一个变化 分离职责:如果不耦合的职责那么很简单,如果两个职责耦合 ...

  8. git 多账户链接不同gitlab仓库

    1.若之前对 git 设置过全局的 user.name 和 user.email.类似(用git config --global --list 进行查看你是否设置) 一定要清除之前设置的用户和邮箱 $ ...

  9. Dynamics CRM 2015/2016新特性之三十二:新增乐观并发处理

    关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复215或者20160328可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong. ...

  10. C# Dictionary增加的方法

    1.简单的函数,实现Dictionary如果有就替换,没有就增加的功能. /// <summary>        /// Dictionary增加的方法        /// </ ...