擅长:python、mysql、java
<p>在你引用之前的维基百科:“上面的伪代码假设启发式函数是单调的”。</p>
<p>你的代码会在这个图表和启发式中给出错误的答案(字母是节点,数字是成本):</p>
<pre><code>Get from X to Z:
1 2
X - Y - Z
1 \ W / 3
h(X) = 2, h(Y) = 2, h(W) = 1, h(Z) = 0
</code></pre>
<p>节点将按<code>X, W, Z, Y, Z</code>的顺序展开。但是,您的程序将在第一次找到<code>Z</code>后退出,并报告路径<code>X>W>Z</code>,其成本为4,这不是最佳的。</p>