gpt4 book ai didi

c++ - 这种递归的汉诺塔算法是一种不知情的搜索吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:56:36 24 4
gpt4 key购买 nike

void Form(int N, char pegA, char pegB, char pegC) {
if (N == 1)
cout<<"move top disk on peg "<<pegA<<" to peg"<<pegC<<endl;
else {
Form(N-1, pegA, pegC, pegB);
cout<<"move top disk on peg "<<pegA<<" to peg"<<pegC<<endl;
Form(N-1, pegB, pegA, pegC);
}
}

这是汉诺塔博弈的递归算法。这可以是深度优先搜索的一种形式吗?如果不是,那是什么?谢谢

最佳答案

这不是深度优先搜索,因为我们知道每次要走哪一步,所以别无选择。你可以这样想。仅此而已。

看,在深度优先搜索的情况下,我们要做什么?我们会更深入地尝试找到正确的方法。但是在这里,你能告诉我一个不必要的 Action 吗?没有。

所以这是一个简单的递归方法,我们解决问题的较小实例,然后构造的解决方案>较大的,简单地说,来自较小的结果。就是这样。

关于c++ - 这种递归的汉诺塔算法是一种不知情的搜索吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44701176/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com