- 论坛徽章:
- 0
|
原帖由 openq 于 2007-4-4 23:56 发表
请问这位大侠,如果让你写一个的到这样结果到程序,你的首选是一半的循环,还递归。
循环实现和递归实现的效率根本就是天壤之别,程序用来完成我们给的任务的,我想这循环和递归之间的效率学过语言的人都应该很 ...
我不是学究, 应该确信, 在一定范围内, 递归算法的简单易懂, 胜于将其转化成非递归形式.
而且转化成非递归形式, 实则是"递归". 所以说, 考察一个人能不能用正确的递归方法求出, 是有必要的. 因为很多算法是透过递归思路设计的...
我说过此题不一定很好. 我的看法是, 对语言的驾驭是必要的. 因为做大工程, 你一定会看到貌似很trick的东西, 如果不信, 你可以看看开源代码, 我相信你能清楚界定什么是好代码, 什么是差代码, 再说用 && ||的时候太多了. 我写脚本还经常用 && , ||这些操作.
至于写成什么代码, 明确说, 大部分时候, 写成递归形式, 比写成非递归形式更快, 简单. 所以考试时候, 写递归代码, 我觉得很好, 除非明确要求, 将递归转化. 当进行开发时候, 可以转化成非递归的循环形式. 并且如果知道一段代码运行概率小, 而且运行的范围较小, 写递归也没有什么问题.
这题的条件, 让我想到递归, 如果没有这些条件, 我还是想递归. 如果要我优化, 我会考虑<i, N>的取值, 决定是否修改. 
[ 本帖最后由 Edengundam 于 2007-4-5 00:24 编辑 ] |
|