iT邦幫忙

2022 iThome 鐵人賽

DAY 17
0

今天要來介紹,貪婪演算法,其實與其說貪婪演算法是一種演算法,更精確的說他更像是一種思想。
貪婪演算法概念其實超級簡單,簡單到你難以想像的地步。
貪婪演算法的核心就是,依照我當下的選擇,我直接選擇最大或最小的值。
我們直接來看看例子就會清楚很多了。

範例一

今天爸爸媽媽帶我去買玩具,然後他們跟我說,在這些玩具裡面我最多可以選兩個玩具喔!那請問我要怎麼選才會有最大的價值呢?
https://ithelp.ithome.com.tw/upload/images/20220924/20151772XxgqQSKXrO.png
小朋友都知道,當然是選擇星星(1000元)跟橢圓形(800元)這兩個商品,這樣我就會有最大的價值1800元囉!

範例二

再舉另一個例子,假如今天我們要從高雄到台北,由於我們是窮學生,我們要選擇最經濟實惠的方式,我們時間很多,所以不考慮時間上的問題,然後我們如果要去台北前要先從高雄到台中才能從台中到台北,以下是我從高雄到台中以及台中到台北的各種方法票價,我該怎麼選擇呢?
https://ithelp.ithome.com.tw/upload/images/20220924/20151772hIWJU0MC25.png
從高雄到台中我們選最便宜的,也就是搭公車,然後我們從台中到台北也選擇最便宜的也就是搭火車,所以我們的決定會是搭公車後再搭火車,這樣能夠用總共最便宜的錢(400塊)從高雄到台北囉。

總結

貪婪演算法雖然簡單,但也因為簡單,我們常常遇到一個可以用貪婪也算法解決的問題時,我們經常會忘記,阿~原來這個問題用貪婪演算法就可以解決了。不過到這邊還是要恭喜大家,學完一個非常簡單而且又實用的演算法。


上一篇
演算法-Sorting
下一篇
演算法 -Tree Traversal
系列文
從演算法到解題思路,以Python為例30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言