- 3
- 0
- 约1.72万字
- 约 100页
- 2016-10-06 发布于重庆
- 举报
003_第三章堆叠ppt
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 若讀取的是運算子,則必須還要遵守以下四個步驟: * * * * * * * * * * * * * * * 3-4.2 遞迴與非遞迴的比較 (1)遞迴:是指函數本身又可以呼叫自己的副程式。 (2)非遞迴:是指函數本身沒有呼叫自己的程式。 【例如】設計n!的遞迴與非遞迴的比較,如下所示: 【遞迴函數的優、缺點】 遞迴 (Recursion) 非遞迴 (Non-Recursion; Iterative) ?優點 ?程式較簡潔明確 ?節省記憶體空間 ?表達力較強 ?區域變數與暫存變數較少 ?較節省執行的時間 ?不需額外的Stack空間 ?缺點 ?執行時參數的存取較費時間 ?需額外堆疊(Stack)空間支援 ?程式較長 ?浪費記憶體空間 ?表達力較弱 ?區域變數與暫存變數較多 3-5 遞迴的應用 遞迴在實務上的應用非常的廣,例如:計算n階乘(n!)、費氏數列、河內塔的圓盤搬移過程、求兩個正整數的最大公因數等。 3-5.1 n階乘(n!) 【定義】n!= n×(n-1)×(n-2)×(n-3)×…×1 【假設】階乘的公式如下: 【演算法】 01 02 03 04 05 06 07 08 09 Procedure fact(int n) Begin int Result; if(n == 1) then result = 1; //終值設定為1,以防止產生無窮迴圈 else //如果否是終值,則 result = n * fact(n-1); //遞迴呼叫,並且每次要更新值,即每次減1 return Result ; End End Procedure 3-5.2 費氏數列 【定義】某一數列的第零項為0,第1項為1,其他每一個數列中項目 的值是由本身前面兩項的值之和。 【假設】級數Factorial的公式如下: 第零項 第1項 + + + + + 【演算法】 01 02 03 04 05 06 07 Procedure Fib(int n) Begin if(n=0) return 0; //第零項為0 if(n=1) return 1; //第1項為1 if(n=2) return Fib(n-1)+Fib(n-2); //其他某一數為其前二個數的和 End End Procedure 3-5.3 最大公因數 【定義】利用尤拉的輾轉相除法,求兩數之最大公因數演算法。 即利用兩數反覆相除,直到「餘數」為0,則其「除數」 即為最大公因數。 【假設】最大公因數的公式如下: 【演算法】 01 02 03 04 05 06 07 08 09 Procedure GCD (int a,int b) Begin c = a % b; //a除 b取餘數 if (c == 0) //判斷餘數是否為0,如果是,則 return b; //將其除數即為最大公因數 else //如果不是,則 return GCD(b, c); //函式自己又可以呼叫自己 End End Procedure 【舉例】 以下範例說明輾轉相除法過程:以18及15為例,必須要利用「輾轉 相除法」,求最大公因數。其概念如下所示: 3-5.4 河內塔問題 【問題】假設有A、B、C三根柱子,A柱子上有3個直徑不同的中 空盤子,由大而小疊放在一起,如下圖(3個盤子)所示。 試問最少需要搬多少次,方能將這些盤子從A柱搬到C柱? 【規則】1.一次只能移動一個盤子。 2.在搬移過程中,小的盤子不能放在大的盤子下方。 【演算法】 演算法:河內塔問題 01 02 03 04 05 06 07 08 09 10 11 12 1
您可能关注的文档
最近下载
- 《岭外代答》的人类学解读实验——兼论宋代华夷之辨的弱化.pdf VIP
- QSH 0081-2007 探井(直井)钻井工程设计.docx VIP
- 《岭表录异》青少年读物.pdf VIP
- 资产处置委托协议书模板5篇.docx VIP
- mipi_CSI-2_specification_v1.3._高清版电子文档.pdf VIP
- QSH 0042-2007 钻井液用磺甲基酚醛树脂技术要求.docx VIP
- 《QSH0047-2007-钻井液用抗高温抗盐降滤失剂通用技术要求》.pdf VIP
- 股市主力操盘盘 口摩斯密码(原创内容,侵权必究).pptx
- 指数基金投资指南(银行螺丝钉).pdf VIP
- 《QSH0082-2007-水平井钻井工程设计要求》.pdf VIP
原创力文档

文档评论(0)