国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

14.5貪心算法

2022-02-03 14:52 作者:取悅疾風  | 我要投稿

內(nèi)容來自尚硅谷Java數(shù)據(jù)結(jié)構(gòu)與java算法(Java數(shù)據(jù)結(jié)構(gòu)與算法)_嗶哩嗶哩_bilibili

寫在前面:本文內(nèi)容大致和原視頻內(nèi)老師的筆記內(nèi)容相同,會偶爾插入自己的注釋和理解,盡量會完成作業(yè)

14.5.1應(yīng)用場景-集合覆蓋問題

假設(shè)存在下面需要付費的廣播臺,以及廣播臺信號可以覆蓋的地區(qū)。如何選擇最少的廣播臺,讓所有的地區(qū)都可以接收到信號

14.5.2貪心算法介紹

1)????? 貪婪算法(貪心算法)是指在對問題進行求解時,在每一步選擇中都采取最好或者最優(yōu)(即最有利)的選擇,從而希望能夠?qū)е陆Y(jié)果是最好或者最優(yōu)的算法

2)????? 貪婪算法所得到的結(jié)果不一定是最優(yōu)的結(jié)果(有時候會是最優(yōu)解),但是都是相對近似(接近)最優(yōu)解的結(jié)果

14.5.3貪心算法最佳應(yīng)用-集合覆蓋問題

假設(shè)存在下面需要付費的廣播臺,以及廣播臺信號可以覆蓋的地區(qū)。如何選擇最少的廣播臺,讓所有的地區(qū)都可以接收到信號

思路分析:

如何找出覆蓋所有地區(qū)的廣播臺的集合呢,使用窮舉法實現(xiàn),列出每個可能的廣播臺的集合,這被稱為冪集。假設(shè)總的有n個廣播臺,則廣播臺的組合總共有2^n-1個,假設(shè)每秒可以計算10個子集,如圖:

?? 使用貪婪算法,效率高:

目前并沒有算法可以快速計算得到準備的值,使用貪婪算法,則可以得到非常接近的解,并且效率高。選擇策略上,因為需要覆蓋全部地區(qū)的最小集合:

遍歷所有的廣播電臺,找到一個覆蓋了最多未覆蓋的地區(qū)的電臺(此電臺可能包含一些已覆蓋的地區(qū),但沒有關(guān)系)

將這個電臺加入到一個集合中(比如ArrayList),想辦法把該電臺覆蓋的地區(qū)在下次比較時去掉。重復第1步直到覆蓋了全部的地區(qū)

分析的圖解:

代碼實現(xiàn):

14.5.4貪心算法的注意事項和細節(jié)

1)????? 貪婪算法所得到的結(jié)果不一定是最優(yōu)的結(jié)果(有時候會是最優(yōu)解),但是都是相對近似(接近)最優(yōu)解的結(jié)果

2)????? 比如上題的算法選出的是K1,K2,K3,K5,符合覆蓋了全部的地區(qū)

3)????? 但是我們發(fā)現(xiàn)K2,K3,K4,K5也可以覆蓋全部地區(qū),如果K2的使用成本低于K1,那么我們上題的K1, K2,K3,K5雖然是滿足條件,但是并不是最優(yōu)的.


14.5貪心算法的評論 (共 條)

分享到微博請遵守國家法律
阿合奇县| 侯马市| 佛冈县| 景德镇市| 宝坻区| 汝阳县| 辽阳市| 上林县| 六安市| 江华| 岳阳市| 准格尔旗| 固镇县| 紫云| 通许县| 营口市| 苏尼特左旗| 兴城市| 华亭县| 崇仁县| 阜康市| 兰溪市| 芦山县| 万宁市| 高尔夫| 涞水县| 朔州市| 肃北| 成武县| 都江堰市| 涞源县| 博罗县| 乌恰县| 新巴尔虎右旗| 鹤庆县| 班玛县| 沧源| 温州市| 汝城县| 公安县| 临朐县|