1. 图结构

df85dc345a9726cab0338e68982fd1af.jpg
拿微信举例:每个人有几个好友,相当于,就是跟顶点相连接的边的条数,这是无向图的说法,如果是有向图,那么又分为入度(**有多少粉丝**)出度(**关注了多少人**),如果要表示亲密关系的话,可以用带权图

2. 存储方式

2.1 邻接矩阵

邻接矩阵的底层依赖一个二维数组。对于无向图来说,如果顶点 i 与顶点 j 之间有边,我们就将 A[i][j]和 A[j][i]标记为 1;对于有向图来说,如果顶点 i 到顶点 j 之间,有一条箭头从顶点 i 指向顶点 j 的边,那我们就将 A[i][j]标记为 1。同理,如果有一条箭头从顶点 j 指向顶点 i 的边,我们就将 A[j][i]标记为 1。对于带权图,数组中就存储相应的权重。625e7493b5470e774b5aa91fb4fdb9d2.jpg

2.2 邻接表

039bc254b97bd11670cdc4bf2a8e1394.jpg