两者有什么区别?我的意思是方法都是一样的.因此,对于用户来说,他们的工作方式相同.
那是对的吗??
好吧,我花了很多时间在这个问题上.但是,我只能找到树的非递归方法的解决方案:树的非递归,或图的递归方法,图的递归.
许多教程(我不在这里提供这些链接)也没有提供方法.或者教程完全不正确.请帮我.
更新:
这很难描述:
如果我有一个无向图:
1
/ | \
4 | 2
3 /
Run Code Online (Sandbox Code Playgroud)
1-- 2-- 3 - 1是一个循环.
在这一步: push the neighbors of the popped vertex into the stack
WHAT'S THE ORDER OF THE VERTEXES SHOULD BE PUSHED?
如果推送的顺序是2 4 3,则堆栈中的顶点是:
| |
|3|
|4|
|2|
_
Run Code Online (Sandbox Code Playgroud)
弹出节点后,我们得到了结果:1 - > 3 - > 4 - > 2而不是1 - > 3 - > 2 - > 4.
这是不正确的.我应该添加什么条件来阻止这个场景?
我正在尝试学习一些搜索概念,但在这个过程中遇到了障碍.任何人都可以向我解释爬山搜索和最佳搜索之间的区别是什么?对我来说,它们看起来都像是用最接近目标的启发式值扩展节点.如果有人能解释我的不同之处,我将不胜感激.谢谢!