回溯法按深度優先策略搜尋問題的解空間樹。
1)基本思想:
2)基本行為:
回溯法的基本行為是搜尋,搜尋過程使用剪枝函式來為了避免無效的搜尋。
3)剪枝函式包括兩類:
1. 使用約束函式,剪去不滿足約束條件的路徑。
2.使用限界函式,剪去不能得到最優解的路徑。
通過這門課程的學習能夠更系統地了解並且運用部分演算法,不同於之前在解程式設計題時為了解決問題而解決的思想,現在能夠思考用什麼演算法或者資料結構去解這道題效率會更高。
不得不說鄭琪老師講的真的很好,每章的上機實踐能自己將之前所學的理論演算法付諸實踐,快速地鞏固知識。
在學習過程中曾一度混淆過動態規劃和貪心演算法(知道怎麼做但是分不清寫出來的哪個時動態規劃哪個是貪心),希望老師上課的時候可以將名詞解釋和原理相互融合多講一些!
希望繼續保留下去的:
每章的結隊上機實踐和敲完**的提問環節。
建議:1)希望之後在課堂上可以偶爾提問一下(剛開學一段時間有提問後來就沒有了,沒有提問是真的容易犯睏)不僅可以了解學生的問題,而且換了乙個人說話後聽的人精神不容易疲勞。
演算法第五章作業及學期總結
發現有些演算法其實以前就已經在用了,但是用得沒有條理,沒法用到下一次相似的型別中去。學習了演算法後能看出題目可以用哪種演算法來解決,減少了思考的時間,可以用更便捷有效的模板做法來解決類似的問題,也知道了不同演算法的優缺點,可以選擇更合適要求的演算法。學習新演算法的時候會在實踐的一些細節中思想卡住,然...
演算法第五章作業及學期總結
回溯法所用到的核心思想就是遞迴法,雖然其過程邏輯很清楚,而且執行效率很高。但缺點也是與之對應的,邏輯清楚,必然其抽象性很高,所以有時看它的解題過程很容易看懂,但要是自己動手寫這個遞迴過程,很難下筆。回溯法解決問題較為直觀易懂,但是其時間和空間開銷都比較大,需要使用限界函式縮小遞迴範圍。該課程讓我學習...
演算法第五章作業及學期總結
回溯法的基本做法是搜尋或者是能夠避免不必要搜尋的窮舉式搜尋法。回溯法在問題的解空間樹中,按深度優先策略,從根節點出發搜尋解空間樹。基本步驟是 1.針對問題定義問題的解空間 2.確定易於搜尋的解空間 3.以dfs搜尋解空間,並在搜尋過程中用剪枝函式避免無效搜尋。系統性地學習了遞迴與分治法 動態規劃 貪...