貪心演算法(又稱貪婪演算法)是指,在對
問題求解
時,總是做出在當前看來是最好的選擇。也就是說,不從整體最優上加以考慮,他所做出的是在某種意義上的區域性
最優解。
實現貪心的具體步驟是:
從我的理解來看,目前遇到的貪心問題分為三種:
揹包問題,區間問題,
huffman編碼問題。
揹包問題屬於比較簡單的那種型別,上課老師講的例題就是這種型別,這類問題要麼以物品數量為標準,要麼以價效比為標準,通過一次for迴圈即可求解。
區間問題是乙個難點,problema等題是這類問題的代表,區間問題的特點是較難找出乙個求最優解的標準,標準找不出,問題就很難解決,以problema為例,解題的關鍵是理解序列和並行,並將通過次數最多的路段的總時間作為最優解。
huffman編碼問題,是一模擬較特殊的貪心問題,huffman編碼從通俗上講,就是利將固定二進位制位的字元編碼,變成有彈性位數的編碼,出現頻率越高的字元二進位制的位數越短,反之則越高,通過這種方式來壓縮文字,在題目中,這種問題的解決方式是利用優先佇列容器,優先的標準是頻率,然後將字元頻率排序併入隊,每次取出兩個,將頻率相加再次入隊,直到隊列為空為止。
這就是我目前的理解,如果以後有了更深的理解,會在此繼續補充的。
經過最近幾周的刷題訓練,我經歷了ac時的喜悅,也經歷了一整天做不出乙個題的悲傷。我明白了acm事業任重而道遠,要想在這條路上走得遠,就必須要肯動腦,肯吃苦。
歡迎各位道友批評和指正。
貪心演算法練習 1
一.理論基礎 可能出現在校招筆試題中的選擇題中 貪心演算法 動態規劃 貪心演算法的每一次操作都會對結果產生影響不是每一次操作都會對結果產生影響 貪心演算法對每乙個子問題的解決方案都做出選擇,不能回退有回退功能 二.題目一 includeint main const int num 6 int x 6...
總結 貪心演算法 貪心演算法入門總結
英語 greedy algorithm,又稱貪婪演算法,是一種在每一步選擇中都採取在當前狀態下最好或最優 即最有利 的選擇,從而希望導致結果是最好或最優的演算法。比如在旅行推銷員問題中,如果旅行員每次都選擇最近的城市,那這就是一種貪心演算法。貪心演算法在有最優子結構的問題中尤為有效。最優子結構的意思...
貪心演算法(1)
貪心演算法是求解最優解的一類問題,在貪心演算法中,每一步求解的都是最優解,但是整體來說不一定是最優的。在求解貪心演算法時,首先要通過題目總結出貪心準則,利用貪心準則進行求解。前兩天看了牛客網,準備通過考研複習空閒時間學習一下演算法,提高程式設計能力,不至於手生。下面是一道貪心演算法的題 時間限制 1...