
数据结构-图
文章平均质量分 83
xushiyu1996818
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
leetcode-399-除法求值-java
题目及测试package pid399;/* 399. 除法求值给出方程式 A / B = k, 其中 A 和 B 均为用字符串表示的变量, k 是一个浮点型数字。根据已知方程式求解问题,并返回计算结果。如果结果不存在,则返回 -1.0。示例 :给定 a / b = 2.0, b / c = 3.0问题: a / c = ?, b / a = ?, a / e = ?, a / a = ?, x / x = ? 返回 [6.0, 0.5, -1.0, 1.0, -1.0 ]输入为原创 2020-08-18 14:20:27 · 332 阅读 · 0 评论 -
leetcode-210-课程表 II-java
题目及测试package pid210;/* 课程表 II现在你总共有 n 门课需要选,记为 0 到 n-1。在选修某些课程之前需要一些先修课程。 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们: [0,1]给定课程总量以及它们的先决条件,返回你为了学完所有课程所安排的学习顺序。可能会有多个正确的顺序,你只要返回一种就可以了。如果不可能完成所有课...原创 2019-12-17 11:17:54 · 400 阅读 · 0 评论 -
leetcode-207-课程表-java
题目及测试package pid207;/* 课程表现在你总共有 n 门课需要选,记为 0 到 n-1。在选修某些课程之前需要一些先修课程。 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们: [0,1]给定课程总量以及它们的先决条件,判断是否可能完成所有课程的学习?示例 1:输入: 2, [[1,0]] 输出: true解释: 总共有 2...原创 2019-12-16 14:36:38 · 288 阅读 · 0 评论 -
leetcode-547-朋友圈-java
题目及测试package pid547;/*Friend Circles班上有 N 名学生。其中有些人是朋友,有些则不是。他们的友谊具有是传递性。如果已知 A 是 B 的朋友,B 是 C 的朋友,那么我们可以认为 A 也是 C 的朋友。所谓的朋友圈,是指所有朋友的集合。给定一个 N * N 的矩阵 M,表示班级中学生之间的朋友关系。如果M[i][j] = 1,表示已知第 i 个和 ...原创 2019-12-12 14:47:44 · 411 阅读 · 0 评论 -
leetcode-130-被围绕的区域-java
题目及测试package pid130;/* 被围绕的区域给定一个二维的矩阵,包含 'X' 和 'O'(字母 O)。找到所有被 'X' 围绕的区域,并将这些区域里所有的 'O' 用 'X' 填充。示例:X X X XX O O XX X O XX O X X运行你的函数后,矩阵变为:X X X XX X X XX X X XX O X X解释:...原创 2019-12-09 13:48:13 · 447 阅读 · 0 评论 -
leetcode-127-单词接龙-java
题目及测试package pid127;/* 单词接龙给定两个单词(beginWord 和 endWord)和一个字典,找到从 beginWord 到 endWord 的最短转换序列的长度。转换需遵循如下规则: 每次转换只能改变一个字母。 转换过程中的中间单词必须是字典中的单词。说明: 如果不存在这样的转换序列,返回 0。 所有单词具有相同的长度...原创 2019-12-06 14:07:52 · 623 阅读 · 0 评论 -
图的最小生成树总结-java版
目录最小生成树简介最小生成树算法Prim算法基本思想例子Kruskal算法基本思想例子java实现基础代码Prim算法Kruskal算法最小生成树简介在一个任意连通图G中,如果取它的全部顶点和一部分边构成一个子图G',即:V(G')=V(G)和E(G')⊆E(G)若同时满足边集E(G')中的所有边既能够使全部顶点连通而又不形成任何回路,则...原创 2019-05-24 11:23:54 · 3843 阅读 · 1 评论 -
图的最短路径算法-java版
目录最短路径Floyd(弗洛伊德)算法简介算法思想样例复杂度Dijkstra算法简介算法思想样例复杂度java实现图的基础代码Floyd算法dijkstra算法测试最短路径所谓最短路径问题是指:如果从图中某一顶点(源点)到达另一顶点(终点)的路径可能不止一条,如何找到一条路径使得沿此路径上各边的权值总和(称为路径长度)达到最小...原创 2019-05-27 11:56:54 · 13991 阅读 · 0 评论 -
图的拓扑排序总结-java版
目录AOV网拓扑排序简介拓扑排序算法java实现拓扑排序测试AOV网AOV网表示一个有向图中顶点,用弧表示顶点之间的优先关系。如下图所示,在AOV网中,若从顶点vi到顶点vj之间存在一条有向路径,则称顶点vi为顶点vj的前驱,顶点vj为顶点vi的后继。注意,AOV图不能有回路,否则会将序列陷入死循环,称为死锁。拓扑排序简介所谓拓扑排序,其实就是对一...原创 2019-05-22 17:05:45 · 1413 阅读 · 0 评论 -
图的遍历(深度优先,广度优先)总结-java版
目录图的遍历简介广度优先搜索算法算法的思想算法实现的思想算法的复杂度深度优先搜索算法算法的思想算法实现的思想算法的复杂度java实现图的基础java代码广度优先算法深度优先算法测试图的遍历简介图的遍历是指从图中的任一顶点出发,对图中的所有顶点访问一次并且只访问一次。图的遍历是图的一种基本操作,图中的许多其他操作也都是建立在遍历的基础之...原创 2019-05-22 11:49:25 · 4339 阅读 · 0 评论 -
图的存储结构与实现总结-java版
目录图的存储结构邻接矩阵邻接表两者区别图的java实现顶点边图测试图的存储结构图的存储结构主要分两种,一种是邻接矩阵,一种是邻接表。邻接矩阵图的邻接矩阵存储方式是用两个数组来表示图。一个一维数组存储图中顶点信息,一个二维数组(邻接矩阵)存储图中的边或弧的信息。设图G有n个顶点,则邻接矩阵是一个n*n的方阵,定义为:看一个实例,下图...原创 2019-05-21 15:34:36 · 4165 阅读 · 0 评论 -
leetcode-图总结
leetcode-200-岛屿的个数 (number of islands)-java方法1:深度优先遍历设置hasGone二维数组,使用深度优先遍历,将周围是1的都遍历到,并且设置hasGone为true。从主方法开始,遍历过几次,就有几个岛屿(因为遍历第一个岛屿,会将岛屿所有连接的地方都设为true,那些地方不会再从主方法遍历)也可以把访问过的改为‘0’,继续遍历。方法2:...原创 2018-11-21 09:56:00 · 1367 阅读 · 0 评论 -
leetcode-200-岛屿的个数 (number of islands)-java
题目及测试package pid200;/* 岛屿的个数给定一个由 '1'(陆地)和 '0'(水)组成的的二维网格,计算岛屿的数量。一个岛被水包围,并且它是通过水平方向或垂直方向上相邻的陆地连接而成的。你可以假设网格的四个边均被水包围。示例 1:输入:11110110101100000000输出: 1示例 2:输入:1100011000001000...原创 2018-11-21 09:54:30 · 774 阅读 · 0 评论