一、邻接矩阵
邻接矩阵是一种常用的数据结构,用于存储有向图或无向图中各顶点之间的连接关系。在邻接矩阵中,矩阵的行和列都表示图中的顶点,矩阵的元素值表示对应顶点对之间是否存在边。对于有向图而言,若顶点i到顶点j存在一条有向边,则邻接矩阵中第i行第j列的元素值为1,否则为0。
邻接矩阵A的对角线上的值均为0,因为节点无自环。
二、深度优先搜索算法
深度优先搜索(Depth First Search)是一种用于遍历或搜索树或图的算法。它采用递归的方式进行,从某个起始节点开始,尽可能深地搜索树的分支。当节点v的所在边都被探寻过后,搜索将回溯到发现节点v的那条边的起始节点。这一过程一直进行到已发现从源节点可达的所有节点为止。DFS算法非常适合用来解决连通性问题,比如找出图中两个节点之间的所有路径。