Skip to content

图论

更新: 10/1/2024 字数: 0 字 时长: 0 分钟

图的定义

图是由顶点(或称为节点)和边(或称为连接)组成的数据结构。顶点表示对象,边表示对象之间的关系。

图的分类

有向图和无向图

  • 有向图:边有方向,从一个顶点指向另一个顶点。
  • 无向图:边没有方向,两个顶点之间的连接是双向的。

连通图和非连通图

  • 连通图:任意两个顶点之间都有路径相连。
  • 非连通图:存在两个顶点之间没有路径相连。

图的表示

图可以用多种方式表示,常见的有邻接矩阵和邻接表。

邻接矩阵

邻接矩阵是一个二维数组,其中行和列分别表示图的顶点,矩阵的元素表示两个顶点之间是否存在边。

邻接表

邻接表是一种链表数组,其中每个顶点对应一个链表,链表中存储了与该顶点相连的顶点。

图的遍历

图的遍历是指访问图中的所有顶点,常见的有深度优先搜索(DFS)和广度优先搜索(BFS)。

深度优先搜索(DFS)

深度优先搜索是一种递归的图遍历算法,从一个顶点开始,沿着一条路径一直走到底,然后回溯到上一个顶点,继续沿着另一条路径走到底,直到所有顶点都被访问过。