- 博客(7)
- 资源 (2)
- 收藏
- 关注
原创 搜索与图论之拓扑排序
搜索与图论之拓扑排序207. 课程表课程表三剑客之课程表I[Ladybird]210. 课程表 II课程表三剑客之课程表II[Dung Beetle]269.火星字典 public String alienOrder(String[] words) { Map<Character, Set<Character>> g = new HashMap<>(); int[] indegree = new int[26];
2021-02-19 20:36:48 1290
原创 搜索与图论之欧拉回路与欧拉路径
搜索与图论之欧拉回路与欧拉路径前置背景AOV&AOEAOVAOVAOV网,顶点表示活动,弧表示活动间的优先关系的有向图。 即如果a->b,那么a是b的先决条件。AOEAOEAOE网,边表示活动,是一个带权的有向无环图, 其中顶点表示事件,弧表示活动,权表示活动持续时间。求拓扑序列就是AOVAOVAOV,求关键路径就是AOEAOEAOE入度入度(indegree)就是有向图中指向这个点的边的数量,即有向图的某个顶点作为终点的次数和出度出度(outdegree)就是从这
2021-02-18 21:13:14 2374
原创 一文掌握Fleury算法
一些概念:割点在一个无向图中,如果有一个顶点集合,删除这个顶点集合以及这个集合中所有顶点相关联的边以后,图的连通分量增多,就称这个点集为割点集合,如果某个割点集合只含有一个顶点 X(也即{X}是一个割点集合),那么X称为一个割点割边在一个无向图中,如果有一个边集合,删除这个边集合以后,图的连通分量增多,就称这个边集为割边集合,如果某个割边集合只含有一条边 X(也即{X}是一个边集合),那么X称为一个割边,也叫做桥步骤1.如果要找欧拉回路,可以从任意点开始,如果要找欧拉路径,需要从有着奇数度的
2021-02-09 09:14:57 3164 1
原创 一文掌握Hierholzer算法
Hierholzer算法的精髓是当每次访问一条边的时候,删除这条边,当遍历完一个节点所连的所有节点后,才将该节点入栈,最后将栈中的节点反转,即可得到欧拉路径 public void printCircuit(List<List<Integer>> adj) { //edgeCount记录记录有向图的边的条数,从当前节点v出发 Map<Integer, Integer> edgeCount = new HashMap<&g.
2021-02-08 21:28:56 1496
原创 搜索与图论之最短路
搜索与图论之最短路743. 网络延迟时间图之网络延迟时间[Samoyed]方法1:优先队列BFSpublic int networkDelayTime(int[][] times, int N, int K) { //建图,key是当前节点的 value的0 只是其邻居节点,1 是距离 即u->v 花费w Map<Integer, Map<Integer, Integer>> graph = new HashMap<>(); for
2021-02-06 19:35:30 1454 4
原创 搜索与图论之FloodFill
FloodFill泛洪填充算法(Flood Fill Algorithm)泛洪填充算法又称洪水填充算法是在很多图形绘制软件中常用的填充算法,最熟悉不过就是 windows paint的油漆桶功能。算法的原理很简单,就是从一个点开始附近像素点,填充成新的颜色,直到封闭区域内的所有像素点都被填充新颜色为止。泛红填充实现最常见有四邻域像素填充法,八邻域像素填充法,基于扫描线的像素填充方法。根据实现又可以分为递归与非递归(基于栈)。733. 图像渲染方法1:DFS当当前的位置的颜色和开始位置(sr,s
2021-02-05 19:22:21 4385 4
Grokking the System Design by educative.io (z-lib.org).pdf
2021-08-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人