算法与数据结构的复习——递归

/**
 * 
 */
package ch06;

import org.junit.Test;

/**
 * @author lixin
 * @date 2018年7月23日
 * @Description 递归
 */
public class Recursion {

	// 三角数的实现
	public static int getNumber1(int n) {
		int total = 0;
		while (n > 0) {
			total = total + n;
			n--;
		}
		return total;
	}

	// 递归实现三角数
	public static int getNumber2(int n) {
		if (n == 1) {
			return 1;
		} else {
			return n + getNumber2(n - 1);
		}
	}

	// 递归计算Fibonacci序列
	public static int getNumber3(int n) {
		if (n == 1) {
			return 0;
		} else if (n == 2) {
			return 1;
		} else {
			return getNumber3(n - 1) + getNumber3(n - 2);
		}
	}

	@Test
	public void test1() { 
		System.out.println(Recursion.getNumber1(4));
		System.out.println(Recursion.getNumber2(4));
		System.out.println(Recursion.getNumber3(4));
	}
}

 

你可能感兴趣的:(算法与数据结构)