?? 文本報告.txt
字號:
編程思想及心得
一.程序功能
這個程序,通過二維數(shù)組表示客戶提供的匯率矩陣,并通過核心函數(shù)findcy找到矩陣中
所有的無環(huán)路徑。判斷每條路經(jīng)的匯率積后,輸出大于1的路徑。即找到相應(yīng)的套匯
路徑。
二。編程思想
1。主要的存儲結(jié)構(gòu)
通過二維數(shù)組存儲匯率矩陣信息,并用文件流的形式把二維矩陣初始化。用向量vect將
匯率路徑保存下來。用一個數(shù)組sign標(biāo)志貨幣標(biāo)號是否已在上層遞歸的路徑中出現(xiàn)。1為
沒有,-1為已經(jīng)出現(xiàn)。
2。關(guān)于遞歸的思想
這個程序的核心函數(shù)是那個遞歸函數(shù)findcy.由遞歸和for循環(huán)組成。設(shè)有n種貨幣,則應(yīng)
進(jìn)行n次遞歸。遞歸的結(jié)束條件為本層的for循環(huán)結(jié)束。當(dāng)最底層遞歸完成后,即返回到上
一層遞歸,繼續(xù)這一層次的for循環(huán)。直到每一層次把可能取到的標(biāo)號按順序都取一遍,則
整個遞歸結(jié)束。所有的無環(huán)路徑都將被涵蓋。
原來想利用多層for循環(huán)構(gòu)建函數(shù)。但發(fā)現(xiàn)這種算法效率較低,且當(dāng)貨幣種類超出預(yù)定種類時,
程序?qū)o法完成。而且編寫代碼的工作量較大,遞歸算法較為簡潔,只有70余行。
3。對于c++程序
有許多語言本身的問題,如分配動態(tài)內(nèi)存,文件輸入輸出流,std類庫的使用等,都很不熟練。
致使在算法思想完成的情況下,仍不能很快的寫出代碼。
通過這次編程,對于類似的實(shí)際語言問題有了新的理解和認(rèn)識,收獲頗大。
4。心得
每次編程前,算法思想的設(shè)計至關(guān)重要,是程序本身的代碼大幅度減少。可見,算法是編程
中應(yīng)該注意的核心問題
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -