今天要來介紹,貪婪演算法,其實與其說貪婪演算法是一種演算法,更精確的說他更像是一種思想。
貪婪演算法概念其實超級簡單,簡單到你難以想像的地步。
貪婪演算法的核心就是,依照我當下的選擇,我直接選擇最大或最小的值。
我們直接來看看例子就會清楚很多了。
今天爸爸媽媽帶我去買玩具,然後他們跟我說,在這些玩具裡面我最多可以選兩個玩具喔!那請問我要怎麼選才會有最大的價值呢?
小朋友都知道,當然是選擇星星(1000元)跟橢圓形(800元)這兩個商品,這樣我就會有最大的價值1800元囉!
再舉另一個例子,假如今天我們要從高雄到台北,由於我們是窮學生,我們要選擇最經濟實惠的方式,我們時間很多,所以不考慮時間上的問題,然後我們如果要去台北前要先從高雄到台中才能從台中到台北,以下是我從高雄到台中以及台中到台北的各種方法票價,我該怎麼選擇呢?
從高雄到台中我們選最便宜的,也就是搭公車,然後我們從台中到台北也選擇最便宜的也就是搭火車,所以我們的決定會是搭公車後再搭火車,這樣能夠用總共最便宜的錢(400塊)從高雄到台北囉。
貪婪演算法雖然簡單,但也因為簡單,我們常常遇到一個可以用貪婪也算法解決的問題時,我們經常會忘記,阿~原來這個問題用貪婪演算法就可以解決了。不過到這邊還是要恭喜大家,學完一個非常簡單而且又實用的演算法。