带标签属性的图
-----------一些常用的基础知识
1 图谓词与属性
许多算法和属性需要具有某种属性的图. 这些可以是基本的属性,诸如无向的,或更深的拓扑属性,诸如连通或非循环. 在某些领域,关键的问题是:如果我们替代顶点的名称,两个图是否是一样,诸如验证它们是否同构等.
GraphQ — 验证一个表达式是否是一个图的对象
EdgeQ — 验证一个表达式是否是图的一条边
VertexQ — 验证一个表达式是否是图的一个顶点
EmptyGraphQ ▪ UndirectedGraphQ ▪ DirectedGraphQ ▪ LoopFreeGraphQ ▪ SimpleGraphQ ▪ WeightedGraphQ
IsomorphicGraphQ — 验证顶点重命名后两个图是否一样
FindGraphIsomorphism — 以规则列表形式求图的同构
AcyclicGraphQ ▪ BipartiteGraphQ ▪ ConnectedGraphQ ▪ EulerianGraphQ ▪ HamiltonianGraphQ ▪ PathGraphQ ▪ TreeGraphQ
2 路径与圈
图的一个关键问题是导航. 尤其是找到两个顶点的最短路径,无论是找到迷宫的出口或公路网的导航. 最短路径的长度引起了自然测量的所有收集诸如图的直径. 如果不只是从一个顶点到另一个顶点的导航,您想以某种方式遍历整个图,您在寻找圈,那么欧拉与哈密尔顿圈提供了遍历图的每条边或顶点的路径.
FindShortestPath — 求从源到目标的最短路径
ShortestPathFunction — 表示一个给出图中最短路径的函数
GraphDistance — 两个顶点间最短路径的长度
GraphDistanceMatrix — 所有顶点对间的距离矩阵
VertexEccentricity — 到每个其它顶点的最长最短路径
GraphRadius — 最小顶点离心率
GraphDiameter — 最大顶点离心率
GraphCenter — 具有最小离心率的顶点
GraphPeriphery — 具有最大离心率的顶点
TopologicalSort — 给出为了与图拓扑相兼容的顶点
FindEulerianCycle — 求一个遍历每条边一次的圈
FindHamiltonianCycle — 求一个遍历每个顶点一次的圈
EulerianGraphQ ▪ HamiltonianGraphQ
PageRank 与 HITS 是用于从搜索引擎返回的网页重要性排序的度量法.
VertexCount — 顶点数
EdgeCount — 边数
VertexDegree — 每个顶点的边数
VertexInDegree — 每个顶点的入边数
VertexOutDegree — 每个顶点的出边数
GraphDistance — 两个顶点间最短路径的长度
GraphDistanceMatrix ▪ VertexEccentricity ▪ GraphRadius ▪ GraphDiameter
ClosenessCentrality — 每个顶点的紧密中心度
BetweennessCentrality — 每个顶点的中介中心性
DegreeCentrality ▪ EigenvectorCentrality ▪ KatzCentrality ▪ PageRankCentrality ▪ HITSCentrality
4 图和矩阵
很久以前就用矩阵表示图,在某些领域这仍然是唯一表示图的方法. 邻接矩阵表示相邻顶点和关联矩阵顶点-边的关联. 它们均可以完全表示无向和有向图. 矩阵表示为基于线性代数算法的图计算提供了一个桥梁.
AdjacencyGraph — 来自于邻接矩阵的图
IncidenceGraph — 来自于关联矩阵的图
KirchhoffGraph ▪ WeightedAdjacencyGraph
AdjacencyMatrix — 顶点-顶点邻接矩阵
IncidenceMatrix — 顶点-边邻接矩阵
KirchhoffMatrix ▪ WeightedAdjacencyMatrix
SparseArray — 创建和表示一个稀疏矩阵