图的分类:方向+权重
- 无向:表示双向连通;
- 有向:表示单向连通;
- 权重:
Loading Mermaid Chart...
Loading Mermaid Chart...
Loading Mermaid Chart...
Loading Mermaid Chart...
图的表示方法
邻接表 Adjacency Matrix
每个顶点下用一个 动态数组 存储可以连接的其他顶点;
- 无向无权图的邻接表,仅表达连接关系;
- 邻接表可以对不同图,进行扩展,如:[[DS-Algorithm/Graph/1. 最短路径#邻接表|最短路径-邻接表表示]]
Vertex | Neighbors |
---|
v1 | v2,v3,v4 |
v2 | v1,v4 |
v3 | v1,v4,v6 |
v4 | v1,v2,v3 |
v5 | |
v6 | v3,v7 |
v7 | v6 |
邻接矩阵 Adjacency List
通过 矩阵(二位数组) 表达任意两个顶点间的连接、权重、方向;
- 对角线一般为0;
- 是否连接可以用:0/∞(不连接)、1(连接)
- 0/∞的选择根据图的物理意义决定,如∞可以代表两个节点距离无穷远(不连接)
- 权重大小使用大于1的值表示;
v1v2v3v4v5v6v7v10111000v21001000v31001010v41110000v50000000v60010001v70000010
- 通过设定:col为From,row为To,来定义方向:v1--2-->v2;
From v1v2v3v4v5v6v7v10010000v22040900v30007010v411010000v53000000v60030002v70000010To
入度和出度
在有向图中:
- 入度:当前节点被指向的次数;
- 出度:当前节点指向的其他节点个数;
如:v4的入度为3,出度为1;
Loading Mermaid Chart...