java递归分析
递归算法设计的基本思想是:对于一个复杂的问题,把原问题分解为若干个相对简单类同的子问题,继续下去直到子问题简单到能够直接求解,也就是说到了递推的出口,这样原问题就有递推得解。
关键要抓住的是:
(1)递归出口
(2)地推逐步向出口逼近
例子:
example: 求5的阶乘。。
如下:
Java代码
public class Test {
static int multiply(int n){
if(n==1||n==0)
return n;
else
return n*multiply(n-1);
}
public static void main(String[] args){
System.out.println(multiply(10));
}
}
上面的multiply是一个阶乘的例子。其实递归递归,从字面上解释就是在方法本身调用自己的方法,或者间接调用;看上面的程序,拿multiply(5)来说:
n=5;执行 5*multiply(4);
--------------------
这时候看multiply(4)
n=4 执行 4*multiply(3);
-------------------
看multiply(3)
n=3,执行 3*multiply(2);
---------------
mulitply(2);
n=2 执行 2*mulitply(1);
这时候,return 1;往上返回
2*1向上返回
3*(2*1)向上返回
4*(3*(2*1)) 向上返回
5*(4*(3*(2*1)) ) = 120
所以程序输出120;
这事简单的递归的例子;所以可以看出来递归的关键
相关文档:
73.FTP下载
/*
import sun.net.ftp.FtpClient;
import java.io.*;
import sun.net.*;
*/
//如果文件在某个目录下,则加入fc.cd("foodir");
//比如要下载ftp://ftp.xx.com/index.html则:
try
{
FtpClient fc=new FtpClient("ftp.xx.com");
fc.logi ......
来到广州7天了,还没有一个面试电话,一起来仨.net今天都面试去,一个人在房间里极度郁闷,自认为还算是个人品、技术都不错的一优秀女青年,难道真如传说中的,有性别歧视?未必吧,昨天就见到一个,那个漂亮。。。岂一个楚楚动人了得啊。。。
哎。。悲哀呀!
待续。。。。。。 ......
现在常用的开源数据连接池主要有c3p0,dbcp和proxool三种,其中:
¨ hibernate开发组推荐使用c3p0;
¨ spring开发组推荐使用dbcp (dbcp连接池有weblogic连接池同样的问题,就是强行关闭连接或数据库重启后,无 ......
一多线程的概念
简单说线程就是程序执行的不同路径。而进程是一个静态的概念通常说的启动一个进程是启动一个进程里面的主线程。
多线程则是一个进程里面的不同的程序的执行路径。而事实上在某一个时刻cpu执行了某一个程序 由于速度很快所以
我们感觉不出来
二线程的创建
1 实现接口创建
public void c ......
Java IO的一般使用原则:
一、按数据来源(去向)分类:
1、是文件: FileInputStream, FileOutputStream, FileReader, FileWriter
2、是byte[]:ByteArrayInputStream, ByteArrayOutputStream
3、是Char[]: CharArrayReader, CharArrayWriter
4、是String: StringBufferInputStream, StringReader, StringWriter
5、 ......