玩转算法系列--图论精讲 面试升职必备(Java版)
第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版)的更多相关文章
- 微软BI SSIS 2012 ETL 控件与案例精讲面试 200 问(SSIS 面试题,ETL 面试题)
开篇介绍 本自测与面试题出自 微软BI SSIS 2012 ETL 控件与案例精讲 (http://www.hellobi.com/course/21) 课程,对于学完本课程的每一课时和阅读完相关辅助 ...
- 清北学堂2018DP&图论精讲班 DP部分学习笔记
Day 1 上午 讲的挺基础的--不过还是有些地方不太明白 例1 给定一个数n,求将n划分成若干个正整数的方案数. 例2 数字三角形 例7 最长不下降子序列 以上太过于基础,不做深入讨论 例3 给定一 ...
- 精讲 org.w3c.dom(java dom)解析XML文档
org.w3c.dom(java dom)解析XML文档 位于org.w3c.dom操作XML会比较简单,就是将XML看做是一颗树,DOM就是对这颗树的一个数据结构的描述,但对大型XML文件效果可能会 ...
- 2019春招面试高频题(Java版),持续更新(答案来自互联网)
第一模块--并发与多线程 Java多线程方法: 实现Runnable接口, 继承thread类, 使用线程池 操作系统层面的进程与线程(对JAVA多线程和高并发有了解吗?) 计算机资源=存储资源+计算 ...
- 算法学习 八皇后问题的递归实现 java版 回溯思想
1.问题描述 八皇后问题是一个以国际象棋为背景的问题:如何能够在 8×8 的国际象棋棋盘上放置八个皇后,使得任何一个皇后都无法直接吃掉其他的皇后?为了达到此目的,任两个皇后都不能处于同一条横行.纵行或 ...
- 总结:Java 集合进阶精讲2-ArrayList
知识点:Java 集合框架图 总结:Java 集合进阶精讲1 总结:Java 集合进阶精讲2-ArrayList 初探: ArrayList底层结构是数组,是List接口的 可变数组的实现,所以会占用 ...
- 总结:Java 集合进阶精讲1
知识点:Java 集合框架图 总结:Java 集合进阶精讲1 总结:Java 集合进阶精讲2-ArrayList 集合进阶1---为集合指定初始容量 集合在Java编程中使用非常广泛,当容器的量变得非 ...
- Java岗 面试考点精讲(基础篇01期)
即将到来金三银四人才招聘的高峰期,渴望跳槽的朋友肯定跟我一样四处找以往的面试题,但又感觉找的又不完整,在这里我将把我所见到的题目做一总结,并尽力将答案术语化.标准化.预祝大家面试顺利. 术语会让你的面 ...
- 【C++自我精讲】基础系列二 const
[C++自我精讲]基础系列二 const 0 前言 分三部分:const用法.const和#define比较.const作用. 1 const用法 const常量:const可以用来定义常量,不可改变 ...
随机推荐
- Tensorflow分布式部署和开发
关于tensorflow的分布式训练和部署, 官方有个英文的文档介绍,但是写的比较简单, 给的例子也比较简单,刚接触分布式深度学习的可能不太容易理解.在网上看到一些资料,总感觉说的不够通俗易懂,不如自 ...
- PHP实现Redis分布式锁
锁在我们的日常开发可谓用得比较多.通常用来解决资源并发的问题.特别是多机集群情况下,资源争抢的问题.但是,很多新手在锁的处理上常常会犯一些问题.今天我们来深入理解锁. 一.Redis 锁错误使用之一 ...
- 还在担心网聊相亲的小姐姐,美女变恐龙!Python帮你"潜伏"侦查
最近,小编的一个朋友很是苦恼,他在Python交流的群里,认识了一个妹子,看头像感觉挺不错的,大家都喜欢摄影,蛮谈得来的!但是想要约见面却不敢,因为他看过<头号玩家>,深知躲在电脑背后 ...
- 实用小工具:VNC的安装
安装xen时,需要使用vnc工具来进行图形化安装,安装好后启动失败,试了很多办法,最终解决. 1.使用yum安装:yum install tigervnc-server tigervnc-server ...
- LeetCode 599: 两个列表的最小索引总和 Minimum Index Sum of Two Lists
题目: 假设 Andy 和 Doris 想在晚餐时选择一家餐厅,并且他们都有一个表示最喜爱餐厅的列表,每个餐厅的名字用字符串表示. Suppose Andy and Doris want to cho ...
- D3力布图绘制--节点自己连自己的实现
案例分析 先看下实现的效果图 实现方法 本篇是在之前写的博文 D3力布图绘制--节点间的多条关系连接线的方法 基础上加修改的,这里放上修改的代码,其他的一样 // DATA var nodes = [ ...
- 自己实现LinkedList
public class MyLinkedList<E> { private Node first; private int size; public int size(){ return ...
- [Ljava.lang.String是一个字符串数组的字节码表示
打印一个字符串数组的话,会发现 String[] arr = new String[10]; // String[] arr = {"yanggb", "huangq&q ...
- Python远程linux执行命令
1.远程登录到linux上,使用到的模块paramiko #远程登陆操作系统 def ssh(sys_ip,username,password,cmds): try #创建ssh客户端 client ...
- vscode wsl git 换行符问题autocrlf
wsl中使用code,由于windows换行符问题git会显示大量文件修改,此时需要在wsl中设置autocrlf设置 git config --global core.autocrlf input ...