1、下面直接列出大体的算法伪代码:
Hanoi(A,B,n-1);
Move(A,C);
Hanoi(B,C,n-1);
分析:对于上面的Hanoi方法中的参数详解,一共不是三个柱子吗?A、B、C,设一共有着n个盘子在A柱子上面。
第一个函数代表着把A柱子上面的n-1个盘子从A柱子移动到B上面(除开最下层的那个盘子,意思就是剩了一个最大的盘子在最下层)。
第二个move函数就是代表着把A柱子剩余的一个盘子移动到C上面
最优一个函数就是代表把最开始移动到B柱子上面的n-1个盘子移动到C柱子上面。
说明:最后说明一下依照这个思想不断的递归就可以求出最后的结果,但是这个算法效率太低,并且是一个难解的算法。
2、斐波那契数列:这个数列的规律就是当前项的前两项的和加起来等于该项的值。
规律表示为:F(n) = F(n-1)+F(n-2); 类似于1,1,2,3,5,8,13.....
其实上面这些算法都是包含了递归的思想,其实学习算法就是学习递归的那种思维。学习分治的那种思维,现在想想现在的分布式和集群技术不都是分治法的延伸吗?所以好好学习算法吧!