递归中遇到的数据结构学习难题,怎么学写递归等高难度程序!~~~

来源:百度知道 编辑:UC知道 时间:2024/05/05 04:27:44
近日看到快速排序,-> 就看到递归,-> 所以就想我要是不看这个我能不能写出来,一想写不出来啊。于是就看递归,看了才知道这么难啊,看了三天了,能看懂递归的执行过程了,对栈和递归也有了进一步了解,可是这让我进行不下去其他的课程的问题就是:我脱离这些程序我就自己写不了了,也就是应用问题!
我就想他们是怎么想到用递归的思路的,像各版本的后序非递归,就是能看懂,就是写不出自己的,不明白他们为什么用tag啊,case啊,等标记,为什么想到的 。面对一个新问题,我可能就转化不了了?!现在仿佛真空状态,自己写没有头绪,不会用循环,不会用标记,我这是“社会主义初级阶段”的特征吗,希望过来人指教一二,不希望泛泛而谈,不喜欢没有经验的空想,THANKS!

程序自己调用自己,和调用别的子程序,其实并没多大差别,只是更要注意返回值、形式参数的约定、局部变量的作用域。分析递归,其实还是分析子程序调用一样,入口处的形参,函数的返回值。
设计递归,就是把“雷同”的处理过程抽象。或许列出函数形式的递归形式比较直观。