1.图的含义
数据结构:点、线性表、树、图
这些数据结构都是对问题的抽象,图是比较复杂的一种。
图用符号记为G(V,E), G表示图的最大集合,V是图中所有点的集合,E是边的集合。 G=graph, V=vertex , E=edge
例如,点表示人, 边映射人与人是否认识,这就是一张人际网图;
点表示网络设备,边映射连通的网线,这就是一张设备网络图
2.图的分类
图分为有向图和无向图。有向和无向是针对边的。
有向图的应用更广泛,因为无向图可以被表示为双向的有向图,所以图的算法经常采用有向图作为输入数据。
3.图的存储
3.1图链表
即用已有的线性表去表示图
假设一个图中有N个节点,那么可以用N个链表去表示,每个链表的开头是V集合中的一个节点,链表的后续内容就是与这个点有关联的点。
3.2图矩阵
用矩阵的方式去存储图
比较:图链表存储复杂度更低;图矩阵的方便之处是可以将图作为矩阵对待,线性代数可以派上用场。
4.基本概念
4.1顶点(vertex):表示某个事物或对象
4.2边(edge)