熟悉演算法的朋友們都知道,我們經常使用五大演算法思想,分別是
1.貪心演算法
2.動態規劃
3.分治法
4.回溯法
5.分支限界法
今天,我們先來總結一下:回溯法
簡介:回溯法的思想如下:每次都沿著一條路去尋找結果,如果發生了無解的情況,則返回到上乙個分叉口,然後選擇另乙個選擇。再向下走到盡頭。回溯法適合複雜的,規模較大的問題,有著「通用解題方法」的美稱。
常見的是八皇后問題,字串排序問題(劍指offer真題)。
下面這個鏈結講的很好,引用如下
五大常用演算法之四 回溯法
回溯演算法實際上乙個類似列舉的搜尋嘗試過程,主要是在搜尋嘗試過程中尋找問題的解,當發現已不滿足求解條件時,就 回溯 返回,嘗試別的路徑。回溯法是一種選優搜尋法,按選優條件向前搜尋,以達到目標。但當探索到某一步時,發現原先選擇並不優或達不到目標,就退回一步重新選擇,這種走不通就退回再走的技術為回溯法,...
五大常用演算法之四 回溯法
回溯演算法實際上乙個類似列舉的搜尋嘗試過程,主要是在搜尋嘗試過程中尋找問題的解,當發現已不滿足求解條件時,就 回溯 返回,嘗試別的路徑。回溯法是一種選優搜尋法,按選優條件向前搜尋,以達到目標。但當探索到某一步時,發現原先選擇並不優或達不到目標,就退回一步重新選擇,這種走不通就退回再走的技術為回溯法,...
五大常用演算法之四 回溯法
回溯演算法實際上乙個類似列舉的搜尋嘗試過程,主要是在搜尋嘗試過程中尋找問題的解,當發現已不滿足求解條件時,就 回溯 返回,嘗試別的路徑。回溯法是一種選優搜尋法,按選優條件向前搜尋,以達到目標。但當探索到某一步時,發現原先選擇並不優或達不到目標,就退回一步重新選擇,這種走不通就退回再走的技術為回溯法,...