步骤 | 遍历 | 描述 |
1 | ![]() |
初始化堆栈。 |
2 | ![]() |
将S标记为已访问并将其放入堆栈。从 S 探索任何未访问的相邻节点。我们有三个节点,我们可以选择其中任何一个。对于本例,我们将按字母顺序获取节点。 |
3 | ![]() |
将A标记为已访问并将其放入堆栈。从 A 探索任何未访问的相邻节点。S 和 D 都与 A 相邻,但我们只关注未访问的节点。 |
4 | ![]() |
访问D并将其标记为已访问并放入堆栈。在这里,我们有 B 和 C 节点,它们与 D 相邻并且都未被访问。但是,我们将再次按字母顺序选择。 |
5 | ![]() |
我们选择B,标记为已访问并入栈。这里 B 没有任何未访问的相邻节点。因此,我们从堆栈中弹出 B。 |
6 | ![]() |
我们检查栈顶是否返回前一个节点,并检查是否有未访问的节点。在这里,我们发现 D 位于栈顶。 |
7 | ![]() |
现在只有未访问的相邻节点来自 D 是 C。所以我们访问C,将其标记为已访问并入栈。 |