一般化的 回答一下這個問題
並非針對你的問題回答請見諒
這裡要講的是 遞迴 轉 迭代 的概念
我自己想的 有錯請指正
要模擬 遞迴 主要要注意三件事
(儲存資訊)"每個迴圈需要的資訊(input)"與
(全域資訊)"需要累加或累記的資訊(input)"和
(還原條件)"當做的動作在特定條件下需要復原"
迴圈在模擬遞迴的過程中會自己產生自己下一個迴圈的 input
簡單說明一下
懶的打程式請見諒= =
一.費氏數列
儲存資訊 一個整數
全域資訊 總和
還原條件 無
變數
資訊一個整數,這個整數會被加入總和,並有機會產生兩個儲存資訊,
這兩個儲存資訊可以用動態規畫來去除重複的查找,
之後不斷的處理儲存資訊即可。
二.快速排序
儲存資訊 兩個iterator
全域資訊 輸入資料
還原條件 無
每將一個區間排序後有機會產生兩個儲存資訊,
之後不斷的處理儲存資訊即可。
有問題的部份大家一起討論吧~
簡單來說就是用一個 vector 把需要的東西存起來
每個迴圈拿出來算,算到 vector 空了為止。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.118.175.32
※ 編輯: damody 來自: 140.118.175.32 (04/06 08:07)