算法分析與設計【5】回溯法

思想

回溯算法實際上類似枚舉的搜索嘗試過程,主要是在搜索嘗試過程中尋找問題的解,當發現已不滿足求解條件時,就“回溯”返回,嘗試別的路徑。

  • 解空間:解決一個問題的所有可能的決策序列構成該問題的解空間
  • 可行解:解空間中滿足約束條件的決策序列稱爲可行解
  • 最優解:約束條件下,使得問題的目標達到最優的可行解稱爲最優解
    在這裏插入圖片描述

適用條件

在這裏插入圖片描述

步驟

  • 針對問題定義解空間
  • 確定易於搜索的解空間結構
  • 深度優先搜索解空間,並且通過剪枝函數避免無效搜索

影響算法複雜度的因素

  • 約束條件的個數
  • 計算約束函數的時間
  • 計算上界函數的時間

經典案例

在這裏插入圖片描述

1、N皇后問題

在這裏插入圖片描述
在這裏插入圖片描述

2、圖着色問題

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

3、0-1揹包問題

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

參考

mooc 算法設計與分析

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章