Graph学习
图计算相关技术学习
花开终为谢
学生
展开
-
图的深度优先遍历-两个顶点之间的最短路径
图的深度优先遍历原创 2022-09-04 18:37:56 · 714 阅读 · 0 评论 -
图的广度优先遍历——两个顶点之间的最短距离
图的广度优先遍历原创 2022-09-04 18:31:09 · 790 阅读 · 0 评论 -
图数据结构基础篇
图数据结构基础篇原创 2022-08-28 00:36:51 · 3230 阅读 · 0 评论 -
深度优先遍历-200. 岛屿数量
方法1 :假设不能修改原始的数组,那么我们需要额外使用一个数组记录数据是否访问过,然后针对每一个为1的数据,通过深搜找到最大联通的岛屿,并将连接的岛屿置为访问过。 这样深搜的次数就是最终岛屿的数量。代码如下:public int numIslands(char[][] grid) { int[][] visited = new int[grid.length][grid[0].length]; int sum = 0; for (int i = 0 ;.原创 2022-03-02 22:55:11 · 307 阅读 · 0 评论 -
图结构-997
这个其实就是图里面的星形网络,中心点就是小镇法官。 他的特点就是入度是n - 1, 出度是0。 所以对应的java代码如下:class Solution { public int findJudge(int n, int[][] trust) { int[] inDegrees = new int[n + 1]; int[] outDegrees = new int[n + 1]; for (int[] edge : trust) { .原创 2022-02-23 00:05:54 · 7579 阅读 · 0 评论 -
图-133. 克隆图
题目:本题属于图这种数据结构的一个题目,可以通过深度优先遍历来求解。因为考虑到无向图,为了完成整张图的遍历,我们需要记录访问过得节点,以防止重复遍历,陷入死循环之中。Java实现代码如下:class Node { public int val; public List<Node> neighbors; public Node() { val = 0; neighbors = new Arra原创 2022-02-21 23:28:50 · 213 阅读 · 0 评论 -
GCN网络-numpy实现
原理推理如图所示:numpy实现代码import numpy as npimport utilsclass GCNNetwork: def __init__(self, m, n_x, n_h,n_y, seed = 2): ''' 初始化GCN网络 :param m: 样本个数 :param n_x: 样本特征个数,一层网络的size :param n_h: 隐藏层网络的size :param原创 2020-11-22 19:46:22 · 274 阅读 · 0 评论 -
Graph-基于BFS/DFS的单源路径问题
问题:问题给定图中的一个起始点,求解该点到另一个点的路径path图数据7 60 10 21 32 31 42 6DFS: 深度优先遍历代码package graph;import java.util.ArrayList;import java.util.Arrays;import java.util.Collections;import java.util.List;public class GraphDFSSingleSourcePath { private原创 2020-10-25 17:18:56 · 148 阅读 · 0 评论 -
Graph二分图检测
Graph二分图检测针对二分图即图里面所有的点和其相邻的点的颜色都是不同的, 即图中的0,2,4,5为1类, 1,3,6为另一类。如何识别一个图是否是2分图呢? 通过深度优先遍历加上染色的方式。设置有两种颜色分别是0和1, 然后每个点遍历观察其颜色,如果尚未被遍历,则染色(染对立的颜色)如果 已经遍历了,则观察下其颜色是否出现冲突,一旦冲突说明改点会被染两种颜色,则一定不是二分图。设图的结构如下g3.txt7 70 10 23 13 24 16 26 5g4.txt7 7原创 2020-10-21 00:24:46 · 236 阅读 · 0 评论 -
Graph的基本表示
Graph的基本表示邻接矩阵和邻接表1 邻接矩阵邻接矩阵: A[i][j] = 1 代表i点和j点之间存在边, A[i][j]= 0 代表i点和j点不存在边。邻接矩阵是一个A[V][V]的数组,空间占用O(v*v)。其代码表示方法:private int V; private int E; private int[][] adj; public AdjMatrix(String fileName) { File file = new File(fileNam原创 2020-10-20 23:30:59 · 426 阅读 · 0 评论 -
Graph-图可视化
1 Jung2介绍随着Graph图相关的应用,基于一种可视化工具进行数据分析是一种十分必要的工具,将极大便利的加快分析。随着大数据的发展,图神经网络,基于图的团伙发现算法,聚集算法等越来越多的应用到业务之中,仅仅从数据角度来看图的结果比较晦涩难懂,本文介绍一种java的可视化图Graph的工具-jung2,对于英文较好的同学,这里有一篇英文文档专门介绍Jung的使用方式,可以一读。http://www.grotto-networking.com/JUNG/JUNG2-Tutorial.pdf2 步骤.原创 2020-10-11 23:13:00 · 3883 阅读 · 0 评论