最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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貪心算法的評論 (共 條)

分享到微博請遵守國家法律
从江县| 始兴县| 巴里| 新龙县| 吉林省| 肥城市| 舟山市| 章丘市| 且末县| 赣州市| 宝坻区| 松潘县| 库伦旗| 博兴县| 富阳市| 福建省| 阜宁县| 扶沟县| 清水县| 德阳市| 延边| 随州市| 右玉县| 孝义市| 崇仁县| 新平| 莒南县| 自贡市| 龙胜| 屯留县| 定陶县| 虞城县| 北海市| 巢湖市| 福鼎市| 侯马市| 平安县| 交城县| 镇康县| 泸定县| 绥棱县|