1. 程式人生 > >遞歸和回溯的區別

遞歸和回溯的區別

font text 思想 搜索 算法 best 有序 不同的 不同

遞歸是一種算法結構,回溯是一種算法思想
一個遞歸就是在函數中調用函數本身來解決問題
回溯就是通過不同的嘗試來生成問題的解,有點類似於窮舉,但是和窮舉不同的是回溯會“剪枝”,意思就是對已經知道錯誤的結果沒必要再枚舉接下來的答案了,比如一個有序數列1,2,3,4,5,我要找和為5的所有集合,從前往後搜索我選了1,然後2,然後選3 的時候發現和已經大於預期,那麽4,5肯定也不行,這就是一種對搜索過程的優化

遞歸和回溯的區別