深度优先遍历思路是,从某个顶点开始遍历,沿着一条路径一直遍历,直到路径的尽头,然后再返回上一个顶点,找相邻未访问的顶点继续遍历,直到顶点全部遍历完。
比如下面这个图,假设从顶点0开始遍历,遍历路径是0->1->3->4->2
在该示例中,遍历遇到多个相邻未访问顶点,按照字典序选择
图的深度优先遍历代码实现如下