图的深度优先遍历(DFS)究竟是怎么一回事?有一个题如图,说起重一个DFS是ABCDEF,我认为这是广度

2025-05-14 02:42:16
推荐回答(3个)
回答(1):

深度优先DFS和广度优先BFS的区分并不是看遍历结果

而是策略上的区分
简单说,深度优先 就是从某个点出发,依次递归深度优先遍历其每个未被访问的邻接点
广度优先,是从某个点出发,依次遍历其每个未被访问的邻接点(并做记录),再对之前一步记录的每个邻接点,重复上述过程

因此,就你给的例子而言,A点开始访问

深度优先的顺序
A-递归DFS访问B-递归DFS访问C-递归DFS访问D-递归DFS访问E-递归DFS访问F
ABCDEF确实是一种DFS的访问序列
当然,你也可以说其他的序列比如ABFDEC之类的,同样也符合DFS策略

广度优先的顺序
A-BFS访问B C D-BFS访问-BFS访问E F
ABCDEF确实也是一种BFS的访问序列
同时,你同样可以说ADCBEF也是BFS的一种访问序列

回答(2):

深度优先就是从一点出发,寻找没有遍历的邻接点,再从那个点出发再次深度优先遍历,没有路就回退
如果图是这样的,从A出发深度优先和广度优先遍历都有可能得到ABCDEF啊

回答(3):

是深度优先吧