图的遍历算法主要有两种:广度优先搜索以及深度优先搜索
遇到具体题目要求根据指定的搜索算法来写出遍历顺序的时候,具体应该怎么进行操作呢?
首先我们要了解什么是广度优先算法,广度类似于二叉树的层次遍历。我们可以将其理解为它是一种广度的遍历,为了方便理解可将其认为是一种横向,即首先访问起始顶点,再接着访问该起始顶点各个未被访问过的邻接顶点,再从这些访问的顶点出发,访问他们所有未被访问过的邻接顶点,直至所有被访问过为止。
深度优先,我们可以抓住关键字深,换一种角度理解即是确定一个顶点,然后不断以此向下深入,类似于先序遍历。首先访问起始顶点,再由该顶点出发,访问与其邻接且未被访问过的任一顶点,当不能再继续向下访问的时候,依次退回到最近未被访问的顶点。