跳转至

graph的定义:

  1. 顶点(vertex):图中的元素
  2. 边(edge):图中的顶点与其他任意顶点建立连接的关系,每条边都是顶点对,表示为 \((v,w)\)
  3. 图(graph): \(G=(V, E)\) ,图由顶点的集合 \(V\) 和边的结合 \(E\) 组成
  4. 有向图(digraph):如果顶点对是有序的,则图是有方向的,否则为无向图
  5. 权(weight)/值(cost):边除了顶点对外,还可以有权重属性
  6. 路径(path):一条路径是一个顶点序列,路径的长是该路径上的边数
  7. 环(loop): 顶点含有一条连通自己的边,例如 \((v,v)\) ,那么路径 \((v,v)\) 是一个环
  8. 圈(cycle): 有向图中圈是满足起始点等于结束点且边长至少为1的路径,无向图中则要求边长至少为2
  9. DAG:有向无圈图
  10. 稀疏图/稠密图:当边数量很少时是稀疏图,反之则为稠密图,这两者之间没有明确的区分

图的表示

邻接矩阵

适合稠密图

邻接表

适合稀疏图