擴展數據:
回溯法、計算機算法、回溯法也叫啟發式方法。它的基本思想是:從問題的某個狀態(初始狀態)出發,搜索從這個狀態可以達到的所有“狀態”,當壹條路到達“終點”(不再前進)時,後退壹步或幾步,從另壹個可能的“狀態”出發,繼續搜索,直到全部。這種不斷“前進”和“回溯”尋找解的方法,稱為“回溯法”。
回溯是壹種系統的、跳躍性的搜索算法。它按照深度優先的策略從包含問題所有解的解空間樹的根節點開始搜索解空間樹。算法在搜索解空間樹的任意節點時,總是判斷該節點是否肯定不包含問題的解。如果肯定不包含,則跳過系統對以該節點為根的子樹的搜索,逐層追溯到其祖先節點。否則,進入子樹,按照深度優先策略繼續搜索。
用回溯法求問題的所有解時,要回溯到根,壹直搜索到根節點的所有子樹,才結束。用回溯法求問題的任何解時,只要搜索到問題的壹個解就可以結束。這種以深度優先的方式系統地搜索問題的解的算法被稱為回溯法,適用於解決壹些組合數量較大的問題。