上一篇文章談了貪心策略的基本想法,但並沒有提到任何的程式碼來說明貪心策略是怎麼進行的.其實貪心策略並沒有一個很明顯程式碼撰寫方式,如果硬是要湊出一個程式碼外型的話,我覺得它的長相可能如下:
while ( 依問題條件來決定是否要繼續下一步 )
{
// 1. 依照問題,在這一個步驟裡取得最佳解
// 2. 根據步驟一得到的最佳解來決定程式的下一個狀態
// 3. 將程式目前的狀態移動到下一個狀態,下一個狀態將會更接近最終的答案
}
老鼠走迷宮是很典型資料結構 Stack 作業,它的內容是假設一個方形的土地,這土地用畫分成許多面積相等的小格子,就像棋盤那樣.每一個格子都是一種地形,如山,河,平地.老鼠只能走平地,不能爬山也不能過河.老鼠將從起點走到終點,起點是在這土地的左上角,而終點是在右下角.這個作業就是要讓老鼠能走出一條路從起點到終點.如果沒有路存在,則最後的答案是...