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

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

分享到微博請遵守國家法律
常山县| 汉川市| 栾城县| 许昌县| 永和县| 治县。| 焉耆| 丹棱县| 抚州市| 衡水市| 新平| 青阳县| 和政县| 和林格尔县| 西城区| 齐齐哈尔市| 神池县| 仙居县| 江都市| 莲花县| 清丰县| 象山县| 邵阳县| 平乐县| 玉门市| 牟定县| 寿宁县| 盖州市| 甘孜| 会同县| 桃源县| 余庆县| 勃利县| 当雄县| 南郑县| 调兵山市| 安达市| 绵竹市| 大名县| 竹北市| 深州市|