作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
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/
我是一名优秀的程序员,十分优秀!