1. 程式人生 > >資料結構&演算法——遞迴

資料結構&演算法——遞迴

前言

遞迴在較為高階的數演算法實現中是常用的,比如深度優先搜尋,暴力搜尋。下面展示較為簡單的遞迴程式碼執行的過程中。

簡單示例如下:

示例1:

	public void recurisve() {
		Scanner inputUtil = new Scanner(System.in);
		String str = inputUtil.next();
		if (str.equals("a")) {
			System.out.println(str);
			return;
		}
		recurisve();
		System.out.println(str);
	}

	@Test
	public void test() {
		recurisve();
	}

測試:

依次輸入是:k i h a

依次輸出是:a h i k

執行過程如下圖:

示例2:

	public void recurisve_1(int n) {
		if (n <= 0) {
			return;
		}
		recurisve_1(n - 1);
		recurisve_1(n - 2);
		System.out.println(n);
	}

測試:

輸入:3

輸出:1213

執行過程如下圖: