回溯: 形狀像樹,狀態A/B,回到上一層,選不選
DFS:逐字匹配(座標移動),在bottom level的基礎上加東西!
回溯法與普通DFS的區別在於:回溯法需要還原之前的場景。
假設我們DFS處理的時候不剪枝,那麼就是這樣:
嘗試往前走一步(嘗試一個當前的可能解)
標記當前格爲X
if ( DFS(step+1)) return true; //前往下一個可能解
解除當前格標記
回溯: 形狀像樹,狀態A/B,回到上一層,選不選
DFS:逐字匹配(座標移動),在bottom level的基礎上加東西!
回溯法與普通DFS的區別在於:回溯法需要還原之前的場景。
假設我們DFS處理的時候不剪枝,那麼就是這樣:
嘗試往前走一步(嘗試一個當前的可能解)
標記當前格爲X
if ( DFS(step+1)) return true; //前往下一個可能解
解除當前格標記