开始写博客了(先说说汉诺塔算法)

来源:互联网 发布:windows 10 live mail 编辑:程序博客网 时间:2024/05/02 01:38

              一直以来都没有写博客的意愿,可能是因为个人懒吧。以前自己关于Android的技术都是写在笔记本上,因为方便查询而且随身携带,有需要的就翻出来看看。

        写这些文字的主要原因是,昨晚解决了一个Android的技术点,想着不如把自己的想法一同分享给大家,所以有了开通博客的冲动,于是今天就开始了。

        这个blog是关于自己关于Android技术的总结、疑难等一切问题的记录,算是给自己的总结。


       第一篇文章,我想讲点其他,关于递归汉诺塔的经典案例,我们知道,递归是在最坏的情况下才使用的算法,原因是递归会消耗大量的系统资源,所以一般都不建议使用。

   (以下具体例子见网易云课堂,数据结构和算法第34课)

      汉诺塔经典题目:把n个盘子从x轴通过y轴移动到z轴


  //汉诺递归算法    public void hanoiMove(int n,char x,char y,char z){    if(n==1){        //只有最后一个盘子了    System.out.println(x+"-->"+z); //把最后的1个盘子,从x轴移动到z轴    }else{    hanoiMove(n-1, x, z, y);       //把n-1个盘子,从x轴通过z轴移动到y轴    System.out.println(x+"-->"+z); //把最后的1个盘子从x轴移动到z轴    hanoiMove(n-1, y, x, z);       //把n-1个盘子,从y轴通过x轴移动到z轴    }        }
要具体思考下这个算法的精妙地方。



0 0
原创粉丝点击