最短路径——Dijkstra算法 BFS算法的局限性 Dijkstra算法 第一轮:循环遍历所有结点,找到还没确定最短路径,且dist最小的顶点vi,令final[i]=true; 检查所有邻接自vi的顶点,若其final值为false,则更新dist和path的信息 第二轮:循环遍历所有结点,找到 ...
分类:
编程语言 时间:
2020-06-30 14:43:38
阅读次数:
73
最短路径——Floyd算法 可以用来求带权图和无权图 Floyd算法:求出每一对顶点之间的最短路径 使用动态规划思想,将问题的求解分为多个阶段 第一个矩阵就是图的邻接矩阵 第二个矩阵表示两个顶点之间的中转点 遍历上一个阶段留下来的矩阵A,对于上一个矩阵A当中的每一个具体的元素我们都进行: 若 A^( ...
分类:
编程语言 时间:
2020-06-30 14:43:06
阅读次数:
79
最短路径——BFS算法 单源最短路径问题 每对顶点间的最短路径 BFS求无权图的单源最短路径 bool visited[MAX_VERTEX_NUM]; //访问标记数组 //广度优先遍历 void BFS(Graph G,int v){ //从定点出发,广度优先遍历图G visit(v); //访 ...
分类:
编程语言 时间:
2020-06-30 14:37:18
阅读次数:
82
最小生成树 生成树是啥? 包含图中全部顶点的一个极小的联通子图。 n个顶点,n-1条边 最小生成树(最小代价树) 带权的连通图,找到各边权值之和最小的 对于一个带权的无向图G=(V,E),生成树不同,每棵树的权也可能不同。设R为G的所有生成树的集合,若T为R中边的权值之和最小的生成树,则T称为G的最 ...
分类:
其他好文 时间:
2020-06-30 14:28:21
阅读次数:
56
一、概述 最小生成树问题顾名思义,概括来说就是路修的最短。 最小生成树相关概念: 带权图:边赋以权值的图称为网或带权图,带权图的生成树也是带权的,生成树T各边的权值总和称为该树的权。 最小生成树(MST):权值最小的生成树。 最小生成树的性质:假设G=(V,E)是一个连通网,U是顶点V的一个非空子集 ...
分类:
其他好文 时间:
2020-06-29 20:20:44
阅读次数:
76
所有网络中的基本定理(网络公式),永恒关系式: V + R - L = 1 其中 V=网络中顶点(即交点)的个数, L=网络中连线的个数 R=网络中区域(即围成的部分)的个数 欧拉宣称,对任何网络(所有可想象的网络 都服从欧拉公式的网络公式),将顶点和区域的个数加起来并减去连线的个数,其结果将总等于 ...
分类:
其他好文 时间:
2020-06-29 18:49:48
阅读次数:
93
其实没什么好说的,从点 i 到点 j ,除了直接一条边连接直通还可以通过别的边中转得到,这样就得到了一个类似dp的一个状态转移方程。但是注意:1.Floyd必须用邻接矩阵存图。2.不能解决负环问题。 #include <bits/stdc++.h> using namespace std; int ...
分类:
编程语言 时间:
2020-06-28 18:56:40
阅读次数:
59
DeepWalk 与词嵌入类似,图嵌入基本理念是基于相邻顶点的关系,将目的顶点映射为稠密向量,以数值化的方式表达图中的信息,以便在下游任务中运用。 Word2Vec根据词与词的共现关系学习向量的表示,DeepWalk受其启发。它通过随机游走的方式提取顶点序列,再用Word2Vec模型根据顶点和顶点的 ...
分类:
其他好文 时间:
2020-06-27 16:16:29
阅读次数:
194
目标 在连通网的所有生成树中,找到所有边的代价和最小的生成树,简称最小生成树问题. (简要的来说,就是在AOV网中找出串联n个顶点代价总和最小的边集) 下面记录最小生成树的两种算法,Prim和Kruskal Prim算法思路 从任意一个顶点开始,每次选择与当前顶点最近的一个顶点,并将两点之间的边加入 ...
分类:
编程语言 时间:
2020-06-27 13:20:50
阅读次数:
166
原文地址 一、什么是“搜索”算法? 算法是作用于具体数据结构之上的,深度优先搜索算法和广度优先搜索算法都是基于“图”这种数据结构的。 因为图这种数据结构的表达能力很强,大部分涉及搜索的场景都可以抽象成“图”。 图上的搜索算法,最直接的理解就是,在图中找出从一个顶点出发,到另一个顶点的路径。 具体方法 ...
分类:
其他好文 时间:
2020-06-26 20:05:16
阅读次数:
45