一、遞迴演算法的概述
遞迴演算法的描述:把乙個大規模的問題劃分為乙個個小規模的同類問題的子問題。
遞迴演算法的特徵:1、在函式中呼叫其本身;
2、必須有乙個明確的遞迴出口;
3、遞迴結果的輸出是乙個堆疊結構,最後的結果最先輸出,最初的結果最後輸出。
二、乙個簡單的遞迴演算法的思考
思考一:遞迴語句最後的輸出結果是?
public class test
return result;
} public static void main(string args)
}
輸出結果:
結果分析:
因為遞迴的輸出的結果是堆疊結果式的,堆疊的最大特點就是先進後出,後進先出。因此上述程式的輸出結果也是按照該規則輸出的,最後的result輸出為3。
思考二:若遞迴中有多個遞迴呼叫,輸出結果又會如何?
public class test
return result;
} public static void main(string args)
}
輸出結果:
結果分析:
以上程式增加了乙個遞迴方法的呼叫以及乙個列印語句輸出。輸出的結果的流程大致為:
思考三:輸出語句的位置會不會對輸出結果有影響?
再把上述程式稍微修改一下
public class test
return result;
} public static void main(string args)
}
輸出結果:
結果分析:
以上程式把輸出語句的位置變換了一下,輸出結果的順序卻發生了改變。
思考四:有多條輸出語句,輸出結果又會發生怎樣的變化?
public class test
return result;
} public static void main(string args)
}
對這個感興趣的同學,可以自己動手編碼執行一下程式,分析一下結果。 乙個遞迴演算法
要求實現1,1,2,3,5,8,13,21,這樣乙個序列。分析一下輸出結果 發現後乙個數字是前2個數字的和。遞迴演算法如下 public static int recursion int i if i 0 return 0 else if i 0 i 2 return 1 else return r...
Treeview的乙個遞迴演算法
option explicit private sub form load with treeview1 nodes.add parent1 test1 nodes.add parent1 tvwchild,child1 test ch1 nodes.add parent1 tvwchild,chi...
乙個關於遞迴的演算法。
從鍵盤輸入乙個整數 1 20 則以該數字為矩陣的大小,把1,2,3 n n 的數字按照順時針螺旋的形式填入其中。例如 輸入數字2,則程式輸出 1 24 3輸入數字3,則程式輸出 1 2 3 8 9 4 7 6 5 輸入數字4,則程式輸出 1 2 3 4 12 13 14 5 11 16 15 6 1...