递归:
从形式上看,就是自己调用自己的函数
从内涵上说,他是规律的总结(数学归纳法)
特征:
(1).函数里面的代码中一定调用了函数本身
(2).递归函数很容易引起内存崩溃
(3).递归函数的效率不是太高
(4). 特别好理解,代码简洁
如何写:
(1).要找到递归函数的终结条件
(2).要总结规律
(3).时刻记住你写次函数的目的是什么。
爬虫:
广度优先的算法,深度优先的算法(递归方式的一种体现)
1 //1+2+3+。。。
2 public static int add(int num) {
3 if(num == 1) {return 1;}
4 return add(num-1)+num;
5 }
1 //1*2*3*。。。
2 public static int jc(int num) {
3 if(num == 0) {return 1;}
4 if(num == 1) {return 1;}
5 return jc(num-1)*num;
6 }
1 //费氏数列 兔子
2 public static int tuzi(int n) {
3 if(n == 1) {return 1;}
4 if(n == 2) {return 1;}
5 return tuzi(n-1)+tuzi(n-2);
6 }
1 //打印目录
2 public static void filePrint(String fileName,String n) {
3 File file = new File(fileName);
4 try {
5 String[] fileArr = file.list();
6 for(int i=0;i<fileArr.length;i++) {
7 System.out.println(n+fileArr[i]);
8 filePrint(fileName+fileArr[i]+"/",n+n);
9 }
10 }catch(Exception e) {
11 //System.out.print(fileName);
12 return;
13 }
14
15 }