搜索从图的顶点 A 开始(Figure 14)。由于所有顶点在搜索开始时都是白色的,所以算法访问顶点 A。访问顶点的第一步是将颜色设置为灰色,这表示正在探索顶点,并且将发现时间设置为1,由于顶点 A 具有两个相邻的顶点(B,D),因此每个顶点也需要被访问。我们将做出任意决定,我们将按字母顺序访问相邻顶点。
接下来访问顶点B(Figure 15),因此其颜色设置为灰色并且其发现时间被设置为 2。顶点 B 也与两个其他节点(C,D)相邻,因此我们将遵循字母顺序和访问节点 C 接下来。
访问顶点 C(Figure16)使我们到树的一个分支的末端。在将节点灰色着色并将其发现时间设置为 3 之后,算法还确定没有与 C 相邻的顶点。这意味着我们完成了对节点 C 的探索,因此我们可以将顶点着色为黑色,并将完成时间设置为 4,在Figure 17 中,可以看到我们的搜索的状态。
由于顶点 C 是一个分支的结束,我们现在返回到顶点 B,继续探索与 B 相邻的节点。从 B 中探索的唯一额外的顶点是 D,所以我们现在可以访问 D(Figure 18),并继续搜索顶点 D。顶点 D 快速引导我们到顶点 E(Figure 19)。顶点 E 具有两个相邻的顶点 B 和 F 。通常我们将按字母顺序探索这些相邻顶点,但是由于 B 已经是灰色的,所以算法识别出它不应该访问 B,因为这样做会将算法置于循环中!因此,继续探索列表中的下一个顶点,即 F(Figure 20)。
顶点 F 只有一个相邻的顶点 C,但由于 C 是黑色的,没有别的东西可以探索,算法已经到达另一个分支的结束。从这里开始,你将在 Figure 21至 Figure 25中看到算法运行回到第一个节点,设置完成时间和着色顶点为黑色。