在学习搜索的时候,对这三个,主要是后二者有一点点混乱,所以这此记录一下。
深度优先 Link to heading
优先遍利子支的最深层。
广度优先 Link to heading
优先遍利每一层,之后再遍利子支
迭代深度优先 Link to heading
就是加一个限制,以到某一层为界,然后进行深度迭代。非常像广度优先,但是!!有一点不同!!当深度增加后,不再是遍利完所本层再进行子支,而是优先子支。这样一来,当深度不段增加后,与广度优先的区别就会越来越大。
比如, a -> b0 -> b1 -> c0 -> c1
是广度优先,那么迭代到第三层后,就会变成a -> b0 -> c0 -> b1 -> c1
。这么种感觉。当深度越大,这种区别就会越大。
一般而言,可以用迭代深度优先替换广度