图的基本要素:顶点、边
图的分类:有向图、无向图、带权图
图的存储方式:邻接矩阵、邻接表、逆邻接表、十字链表
一个拥有n个节点的图最多拥有n*(n-1)个连接数,表达顶点之间的关联关系最清晰的方式就是用二维数组(矩阵)
无向图:用0和1表示是否有关联关系的邻接矩阵(对称的)
有向图:非对称的
矩阵中如果顶点多而关联少就称为稀疏图(很浪费空间),为了解决该问题引入了邻接表和逆邻接表。在邻接表中每一个顶点都是一个链表的头节点,其后连接着该节点能直接到达的相邻节点,结构很像哈希表的链式存储
十字链表:十字链表的每个顶点都是两个链表的根节点,其中一个存储着该顶点能直接到达的相邻节点,另一个存储着到达该顶点的相邻顶点。