文章目錄
- 前言
- 源于生活
- 貪心演算法
- 回溯演算法
- 動規演算法
- 用于生活
- 無解題就當真無解嗎
- 一個作業中常見的無解案例
- 一個生活中常見的無解案例
- 結語
前言
此篇文章不講述演算法與代碼之間的關系(即沒有演算法干貨),只是敘述我個人對演算法與生活之間的某種聯系與感悟,但是在面試時面試官問起自己對于演算法的理解時還是有一定幫助,
在這個日新月異的時代里生活,越來越覺得這個世界很多事情是無解的,越來越覺得平衡是最難處理的問題,
源于生活
貪心演算法
一個經典的貪心演算法生活例子:
假設我們有 1 元、2 元、5 元、10 元、20 元、50 元、100 元這些面額的紙幣,它們的張數分別是 c1、c2、c5、c10、c20、c50、c100,我們現在要用這些錢來支付 K 元,最少要用多少張紙幣呢?
問題目的:
要盡可能用最少的紙幣來支付K元
解決方案:
在生活中,很顯然,我們肯定是先用面值最大的來支付,如果不夠,就繼續用更小一點面值的,以此類推,最后剩下的用 1 元來補齊,
演算法思想:很直接,每次決策都選擇當前方案的最優解,
回溯演算法
兩個經典的回溯演算法電影:
2004 年上映了一部非常著名的電影《蝴蝶效應》,講述的就是主人公為了達到自己的目標,一直通過回溯的方法,回到童年,在關鍵的岔路口,重新做選擇,
還有一部2014年上映的電影《明日邊緣》,同樣也是主人公為了拯救世界,通過不斷重啟時間進行回溯“刷熟練度”,熟練的讓人心疼,最終如愿成功,
演算法思想:其實本質上就是一種暴力列舉,嘗試所有的解決方案,要么成功要么成仁,(與暴力列舉不同的是回溯在某些情況下可以進行剪枝,從而少走冤枉路)
動規演算法
一個經典的動態規劃案例:(0-1背包問題)
對于一組不同重量、不可分割的物品,我們需要選擇一些裝入背包,在滿足背包最大重量限制的前提下,背包中物品總重量的最大值是多少呢?
有關此題的具體求解在這里我就不做敘述,有興趣的朋友可以自行百度,這里我直接給出動規思想的結論,
演算法思想:擁有全域觀,目標只為達到最終目的,每一步棋都必須在高效且在意料之中,
用于生活
人這一生往往會有許許多多的選擇岔路口,那么又該如何選擇呢?
現實的世上沒有后悔藥,想要通過回溯思想找到最好的那合適的那條岔路口必然不可能;
偷懶一點,選擇當前對于自己最好的那條路,這就是貪心思想;
至于動規,擁有上帝視角,我們知道自己的最終目標是什么,也知道各種道路的選擇后果以及如何為自己規劃一條長遠的道路來實作此目標,但是往往絕大多數都沒能達到目標,因為他們都倒在了中途,
無解題就當真無解嗎
x2=-1 這道題在初中(實數域)中的確是一道無解題,但是換個角度放在高中(復述域)卻是一道有解題,或許無解題本身也并非是絕對無解,有時候船到橋頭未必直,車到山前也未必有路,但是對于無邊的苦海,回頭必定有岸!
一個作業中常見的無解案例
mentor給我分配一個feature,我發現其中的一個功能以我目前的能力無法實作,
也許這本就是一個無解的問題,但是實際上也沒這么簡單,
首先,自己剛開始得使用回溯思想盡可能嘗試過每種方案思路,然后最終確認自己確實做不了,后面通過溝通后發現選擇貪心思想放棄此功能至少是當前的最優解,至于日后自己能力更上一層樓后回頭再看這個“無解”的問題,也許它本身已不再是無解,
一個生活中常見的無解案例
在男女關系中一個最常見的無解話題就是我不喜歡你,不喜歡就是不喜歡,沒有為什么
遇到這種問題,一些人的解決方案就是我不服氣,我要把所有可能的希望都把握住,都嘗試過,難道這樣就真的能找到解嗎?未必,就像x2=-1 在實數域求解一樣,最終也許自己就成為了“舔狗”,
另一些人的解決方案就是既無解則棄之,不得不說很多時候這確實是當前的最優方案,
而還有一些人發現了無解的本質,通過換藥進入一個新的層次來自解無解題,
結語
這三種演算法思想在生活中各有利弊:
回溯思想體現了一種不放棄的心境,從好的方面來說自己盡力了問心無愧,但是很多時候的無解題用這種思想去處理問題最終只會是賠了夫人又折兵那般的身心俱疲;貪心思想體現了一種及時止損的心境,既然此題本無解,那我就直接放棄它,至少此選擇對于當前的自己來說是最優方案,但是這種思想會導致自己眼界很低,不再有全域觀又何談去實作自己的最終目標;動規思想體現了一種全域觀的心境,這無疑是最好的選擇方案,但是為了往往絕大多數人都不會選擇它,因為行百里者半九十,而很多人連九十都達不到,最終的結局很可能還不如貪心思想的結局更好,
也許,選擇哪種演算法思想也成為了一道無解題,也正如前言所述,世上很多事情是無解的,平衡才是最難處理的問題,無解題本無解,生活終究還是快樂最重要,所以站在生活的角度對于無解題不去思考它不去嘗試解決它或許才是最好的方案!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/105225.html
標籤:其他
上一篇:27歲“社畜”通過JAVA的救贖
下一篇:普通90后的北京買房記【回顧】
