一、基本思想和策略
回溯法是一種選優搜尋法,按選優條件向前搜尋,以達到目標,但當搜尋到某一步時,發現原來選擇並不優或達不到目標,就退回一步重新選擇,這種走不通就退回再走的演算法為回溯法,而滿足回溯條件某個狀態的點稱為"回溯點"。
回溯法就是對隱式圖的深度優先搜尋演算法,
為了避免生成那些不可能產生最優解的問題狀態,要不斷的利用限界函式,來剪枝那些實際上不可能產生最優解的活結點,以減少問題的計算量。具有限界函式的深度優先生成法稱為回溯法。(回溯法=窮舉+剪枝)
二、回溯法一般步驟
1) 針對所給問題,定義問題的解空間
2) 確定易搜尋的解空間結構
3) 以深度優先方式搜尋解空間,並在搜尋過程中用剪枝函式避免無效搜尋。
兩個常用的剪枝函式:
1) 約束函式:在擴充套件結點中剪去不滿足約束的子樹
2) 限界函式:剪去得不到最優解的子樹
三、演算法特點總結
回溯法乙個顯著特徵是在搜尋過程中動態產生問題的解空間,在任何時間,演算法只儲存從根結點到當前擴充套件結點的路徑。
四、實際場景
八皇后問題、全排列、0-1 揹包、正規表示式匹配等。
五大基本演算法思想之遞迴回溯
使用場景 求解所有可行方案。整個過程有多個步驟,每個步驟有多個選擇,從中選出可行方案 八皇后在8 8格的西洋棋上擺放八個皇后,使其不能互相攻擊,即任意兩個皇后都不能處於同一行 同一列或同一斜線上,問有多少種擺法 public class eightqueen public static void f...
五大常用演算法 回溯法
於 回溯演算法實際上乙個類似列舉的搜尋嘗試過程,主要是在搜尋嘗試過程中尋找問題的解,當發現已不滿足求解條件時,就 回溯 返回,嘗試別的路徑。回溯法是一種選優搜尋法,按選優條件向前搜尋,以達到目標。但當探索到某一步時,發現原先選擇並不優或達不到目標,就退回一步重新選擇,這種走不通就退回再走的技術為回溯...
回溯 皇后 演算法筆記 計算機五大演算法之四,回溯演算法
一 基本思想和策略 回溯法是一種選優搜尋法,按選優條件向前搜尋,以達到目標,但當搜尋到某一步時,發現原來選擇並不優或達不到目標,就退回一步重新選擇,這種走不通就退回再走的演算法為回溯法,而滿足回溯條件某個狀態的點稱為 回溯點 回溯法就是對隱式圖的深度優先搜尋演算法,為了避免生成那些不可能產生最優解的...