Python 回溯算法
生活随笔
收集整理的這篇文章主要介紹了
Python 回溯算法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
回溯算法(試探法)
在搜索嘗試過程中尋找問題的解,當發現已不滿足求解條件時,就“回溯”返回,嘗試別的路徑。回溯法是一種選優搜索法,按選優條件向前搜索,以達到目標。但當探索到某一步時,發現原先選擇并不優或達不到目標,就退回一步重新選擇,這種走不通就退回再走的技術為回溯法,而滿足回溯條件的某個狀態的點稱為“回溯點”。
回溯算法解決問題的
- 針對所給問題,定義問題的解空間,它至少包含問題的一個(最優)解。
- 確定易于搜索的解空間結構,使得能用回溯法方便地搜索整個解空間 。
- 以深度優先的方式搜索解空間,并且在搜索過程中用剪枝函數避免無效搜索。
實例:
地上有一個m行和n列的方格。一個機器人從坐標0,0的格子開始移動,
每一次只能向左,右,上,下四個方向移動一格,
但是不能進入行坐標和列坐標的數位之和大于k的格子。
例如,當k為18時,機器人能夠進入方格(35,37),因為3+5+3+7 = 18。但是,它不能進入方格(35,38),因為3+5+3+8 = 19。請問該機器人能夠達到多少個格子?
轉載于:https://www.cnblogs.com/spmt/p/10607027.html
總結
以上是生活随笔為你收集整理的Python 回溯算法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ubuntu 12.04 解压安装jdk
- 下一篇: go片段代码