- 5
- 0
- 约 14页
- 2017-01-16 发布于天津
- 举报
06演算法與資料結構
一、演算法:Algorithm
定義:
一個演算法應具備之五個特性(條件)
.輸入:由外界供給演算0或多個輸入資料。
.輸出:至少產生一個輸出。
.明確性:要很明白地知道所做的運算要如何處理。
.有限性:經過一些步驟後必需要執行終止,不會造成無窮迴路。
.有效性:即每一步驟皆能用紙筆完成。
影響程式執行時間因素:
.程式所輸入資料量多少有關(使用者)
.使用演算法(algorithm)所須時間的複雜度(程式)
.Compiler的產生機器碼是否最佳化(系統程式)
.指令在電腦中執行的速度(電腦硬體)
二、遞迴:Recursion
在程序中直接或間接呼叫該程序本身,稱之為遞迴。
能以if-then-else及do-loop迴圈敘述所寫成之程式,均可用Recursive Procedure改寫。
遞迴的種類:有直接遞迴與間接遞迴兩種。
Direct Recursion:在Procedure內可直接呼叫程式本身。
Indirect Recursion:在Procedure內,呼叫其他Procedure,而由其它Procedure呼叫原程序。
C, Pascal, PL/I, Lisp, Prolog均可使用Recursion。(Fortran不可以)
Recursion的優點:簡短明確。
Recursion的缺點:Recursion時的參數儲存於Stack,取回及移轉耗費時間,執行時
原创力文档

文档评论(0)