高分请问
高分请教
理解这种欠套n层循环的相似问题,总是按他的执行过程去理解,但是有时比如还有递归,执行过程很复杂,很多程序不能理解,请教高手,有没有好的方式去理解他,要说思想,有时和实现相差很远,还是如何实现不好理解,高手指教一下
------解决方案--------------------
如果难以理解,
可以将过程简单化。
本来 几十层的递归,
把它修改为1、2层的递归,
然后画个图表看看。
然后加深递归层次,
有助于理解。
------解决方案--------------------
想多层循环和多级递归的问题,一般可以简单化来理解
比如
循环
给你10个数,每个数可以使用任意次,求它们相加结果为100的方案数
当然这可能需要一个 9 层的循环
你可以把问题简单化为
给你2个数,每个数可以使用任意次,相加为100的方案数
这个题,估计很快你就做出来了,
就1个循环
这样你就可能慢慢理解次数多的循环了
递归
比如要你做个9个盘子的 汉诺塔
你可以先把问题简化为
3个盘子的汉诺塔
用递归做出来,以后再多的盘子都是这个算法,自然理解了
理解这种欠套n层循环的相似问题,总是按他的执行过程去理解,但是有时比如还有递归,执行过程很复杂,很多程序不能理解,请教高手,有没有好的方式去理解他,要说思想,有时和实现相差很远,还是如何实现不好理解,高手指教一下
------解决方案--------------------
如果难以理解,
可以将过程简单化。
本来 几十层的递归,
把它修改为1、2层的递归,
然后画个图表看看。
然后加深递归层次,
有助于理解。
------解决方案--------------------
想多层循环和多级递归的问题,一般可以简单化来理解
比如
循环
给你10个数,每个数可以使用任意次,求它们相加结果为100的方案数
当然这可能需要一个 9 层的循环
你可以把问题简单化为
给你2个数,每个数可以使用任意次,相加为100的方案数
这个题,估计很快你就做出来了,
就1个循环
这样你就可能慢慢理解次数多的循环了
递归
比如要你做个9个盘子的 汉诺塔
你可以先把问题简化为
3个盘子的汉诺塔
用递归做出来,以后再多的盘子都是这个算法,自然理解了