在运用递归的时候
我应该怎么想哦
感觉怎么都用不好他
谢谢了哦
我应该怎么想哦
感觉怎么都用不好他
谢谢了哦
解决方案 »
- 请问这个的UML类图怎么画?
- 深浅复制
- 一个DataSource 的jndi配置
- VPN的JAVA搭建,希望有个例子可以参考下
- 求判断字符串A包含字符串B的方法,参与者都有分
- 关于eclipse
- org.eclipse.swt.SWTException: Class ID not found in registry
- Class文件问题
- 买了J++BUILDER6安装了,打开还是找不到组件,有组件的吗,不明白呀
- javac.exe在哪里?
- 请问如何判断与数据库的连接是否断掉
- 调用的一个方法返回一个InputStream,然后再把此InputStream作为参数传给另一个方法,我想问那谁来负责关闭此InputStream了?
int factorial(int n)
{
if(n==1||n==0)
return 1;
else
return n*factorial(n-1);
}
这里的结束条件就是n==0或1的时候,但是递归效率极低,强烈建议不要使用
if(递归结束式)...
else 递归函数(参数-步长)...
}for(循控变量初始化;!递归结束式;循控变量-=步长){
递归函数(循控变量)
}比较草、只是个意思。
要注意一定要留个出口.其它的就要注意一下时间复杂度或空间复杂度,某些算法(比如二叉树的遍历),在规模不大的情况下用递归不但编码方便,而且系统开销不大,但达到一定规模后用递归系统开销就很大了,这时要注意使用非递归的方法了.
----------------------------------------------
说得好,我最近写了一个递归计算滚动投资的算法,结果复杂度随着规模成几何增长。
计算n个月的循环次数=n!次,到了计算第13次的时候复杂度就已经过亿了。
所以,前几次还能计算出来,到后来基本上程序就不动了。