#include<iostream.h>
int TowersOfHanoi(int n,int x,int y,int z);
int main()
{
TowersOfHanoi(10,1,2,3);
return 0;
}
int TowersOfHanoi(int n,int x,int y,int z)
{
if(n>0)
{
TowersOfHanoi(n-1,x,z,y);
cout<<"move disk from tower "<<x<<" to tower "<<y<<endl;
TowersOfHanoi(n-1,z,y,x);
}
return 0;
}
vc++6.0调试通过,一个经典的递归算法。时间复杂度O(2^n)
本文介绍了一个经典的递归算法——汉诺塔。通过C++实现该算法,并演示了如何移动10个盘子的过程。该算法的时间复杂度为O(2^n)。
1032

被折叠的 条评论
为什么被折叠?



