close
範例一.費氏數列
範例二.快速排序
範例三.深度優先搜尋
範例四.廣度優先搜尋
//範例五.八皇后
//範例六.泛用解法
要用迭代首先要確定
(儲存資訊)"每個迴圈需要的資訊"與
(全域資訊)"需要累加或累記的資訊"。
(還原條件)"當做的動作在特定條件下需要復原"
一.費氏數列
儲存資訊 一個整數
全域資訊 總和
還原條件 無
變數
資訊一個整數,這個整數會被加入總和,並有機會產生兩個儲存資訊,
這兩個儲存資訊可以用動態規畫來去除重複的查找,
之後不斷的處理儲存資訊即可。
二.快速排序
儲存資訊 兩個iterator
全域資訊 輸入資料
還原條件 無
每將一個區間排序後有機會產生兩個儲存資訊,
之後不斷的處理儲存資訊即可。
範例三.深度優先搜尋
儲存資訊 一個iterator
全域資訊 無
還原條件 無
每將一個區間排序後有機會產生兩個儲存資訊,
之後不斷的處理最後產生的儲存資訊即可。
範例四.廣度優先搜尋
儲存資訊 一個iterator
全域資訊 無
還原條件 無
擁有兩個儲存資訊的陣列,
第一個儲存資訊處理完後的儲存資訊放到第二個,
第二個儲存資訊處理完後的儲存資訊放到第一個,
先處理完第一個陣列後再處理第二個再回來處理第一個,以此類推。
範例五.八皇后
儲存資訊 一個二維陣列(可簡化成一維陣列)
全域資訊 無
還原條件 無解時
以下沒心情寫,真怕以後忘記,希望有心人幫一下。
範例六.泛用解法
儲存資訊 自定義
全域資訊 自定義
還原條件 自定義
沒什麼心情寫,真怕以後會用到,希望有心人幫一下。
全站熱搜