用Scratch动画演示递归算法的进栈出栈过程
利用Scratch制作动画演示递归算法的过程。为帮助像我一样的初学者。
递归的能力在于用有限的语句来定义对象的无限集合。一般来说,递归需要有边界条件、递归前进段和递归返回段。当边界条件不满足时,递归前进;当边界条件满足时,递归返回。
定义如下:
递归,就是在运行的过程中调用自己。
构成递归需具备的条件:
-
子问题须与原始问题为同样的事,且更为简单;
-
不能无限制地调用本身,须有个出口,化简为非递归状况处理。
————————————————
scaratch程序代码如上,通过自定义模块制作一个简单的递归程序,为演示出栈,入栈的效果,特加了时间控制语句。
利用列表显示入栈,出栈的顺序及次数。