图论是计算机科学和数学中一个重要的分支,它主要研究图形及其性质。在 LeetCode 中,图论相关的题目是考察算法和数据结构能力的重点。以下是一些基本的图论概念:

图的表示

  • 邻接矩阵:用一个二维数组表示图,如果顶点 (i) 和顶点 (j) 之间有边,则矩阵的第 (i) 行第 (j) 列为边的权重,否则为无穷大或某个特殊值。
  • 邻接表:用一个数组表示图,数组中的每个元素是一个链表,链表的每个节点代表一个顶点,链表中的元素表示与该顶点相邻的顶点。

图的分类

  • 无向图:顶点之间的边没有方向。
  • 有向图:顶点之间的边有方向。

图的遍历

  • 深度优先搜索(DFS):从某个顶点开始,沿着一个方向走到底,然后再回溯。
  • 广度优先搜索(BFS):从某个顶点开始,沿着所有相邻的顶点依次访问。

图的路径问题

  • 最短路径:找到从起点到终点的最短路径。
  • 最小生成树:从一个无向图中找到一棵包含所有顶点的树,且边的总权重最小。

图论示例

更多关于图论的内容,您可以参考我们的图论教程

示例题目

希望这些内容能帮助您更好地理解图论的基本概念。