DFS 的走法

第 1 步:从 0 出发 第 2 步:钻到 1 第 3 步:钻到 3 第 4 步:钻到 4 第 5 步:退回来,才走到 2 第 6 步:5 和 6 在另一块,走不到 0 1 3 2 4 5 6 1 2 3 4 5 深度优先搜索的走法是【0】

开始练习 →

DFS 靠什么记住回哪儿

DFS 退回上一步靠的是【0】。

开始练习 →

DFS 顺序由什么决定

同一张图,DFS 的访问顺序取决于【0】。

开始练习 →

visited 在 DFS 里何时标

DFS 里把一个点标成「走过」的时机是【0】。

开始练习 →

DFS 从 0 出发的顺序

运行下面这段程序: 本节的图:七个点,边 0-1、0-2、1-3、2-4、3-4、5-6;邻接表 G 里每个点的邻居按编号从小到大排。 #include <algorithm> #include <iostream>

开始练习 →

写一个递归 DFS

补全 go:一进点就标 visited、记进 out,再对每个没走过的邻居递归下去。输出从 0 出发的访问顺序。 本节的图:七个点,边 0-1、0-2、1-3、2-4、3-4、5-6;邻接表 G 里每个点的邻居按编号从小到大排。 (本题用

开始练习 →

换成栈版顺序会变

补全 dfs_stack:不用递归,自己开一个栈。每次弹出栈顶,没走过就标记、记下,再把它没走过的邻居按 G 里的顺序依次压进去。输出访问顺序——它和递归版不一样。 本节的图:七个点,边 0-1、0-2、1-3、2-4、3-4、5-6;邻接

开始练习 →

顺序不同点集合要相同

递归版和栈版都已写好。补全 main:各跑一遍,输出三样:递归版走到几个点 / 栈版走到几个点 / 两边走到的点集合是否相同(相同输出 结果一致,否则输出 结果不一致)。 本节的图:七个点,边 0-1、0-2、1-3、2-4、3-4、5-6

开始练习 →

BFS 的走法

第 1 步:从 0 出发,步数 0 第 2 步:第 1 圈:步数 1 第 3 步:第 2 圈:步数 2 第 4 步:圈与圈之间按步数排好 0 1 3 2 4 5 6 0 1 1 2 2 广度优先搜索的走法是【0】。

开始练习 →

BFS 何时把点标成走过

BFS 里标记一个点的时机是【0】。

开始练习 →