亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

Python實現貪心算法的示例

瀏覽:66日期:2022-06-23 15:17:01

今天一個研究生同學問我一個問題,問題如下:超市有m個顧客要結賬,每個顧客結賬的時間為Ti( i取值從1到m)。超市有n個結賬出口,請問全部顧客怎么選擇出口,可以最早完成全部顧客的結賬,并用代碼實現。其實利用的就是貪心算法來解決這個問題,那么,什么是貪心算法?怎么用貪心算法解決這個問題?讓我一一道來。

一、貪心算法簡介

貪心算法是一種對某些求最優解問題的更簡單、更迅速的設計技術。貪心算法的特點是一步一步地進行,常以當前情況為基礎根據某個優化測度作最優選擇,而不考慮各種可能的整體情況,省去了為找最優解要窮盡所有可能而必須耗費的大量時間。貪心算法采用自頂向下,以迭代的方法做出相繼的貪心選擇,每做一次貪心選擇,就將所求問題簡化為一個規模更小的子問題,通過每一步貪心選擇,可得到問題的一個最優解。雖然每一步上都要保證能獲得局部最優解,但由此產生的全局解有時不一定是最優的,所以貪心算法不要回溯 。

二、解決思路1.同學導師給的思路

可以先讓前N個人付款 后邊顧客不斷找出付款時間最短的依次排到前N個顧客按時間最長到最短的后邊

2.問題分解

可以先假設只有一個收銀臺,那么我們可以很快的反應過來,最優的順序就是按時間由小到大依次進行。即最優解為A={t(1),t(2),….t(n)}(其中t(i)為第i個用戶需要的服務時間),則每個用戶等待時間為:T(1)=t(1);T(2)=t(1)+t(2);…T(n):t(1)+t(2)+t(3)+……t(n);那么總等待時問,即最優值為:TA=n*t(1)+(n-1)*t(2)+…+(n+1-j)t(i)+…2t(n-1)+t(n);

三、算法代碼實現

有了上邊的分解,那么實現算法代碼就非常的輕而易舉了`

def greedy(customer_list, n): # customer_time_list為第j個隊列上的某一個顧客的等待時間 # sum_customer_time_list是求和數組 # sum_customer_time_list[j]的值為第j個隊列上所有顧客的等待時間 # min_sum_customer_time為結賬最小時間 # 初始化一個大小為n的0列表 customer_time_list = [] sum_customer_time_list = [] num = 0 while num < n: customer_time_list.append(0) sum_customer_time_list.append(0) num += 1 min_sum_customer_time = 0 # 顧客的數量 m = len(customer_list) customer_list.sort() #列表升序排序 i = 0 j = 0 while i < m: customer_time_list[j] += customer_list[i] sum_customer_time_list[j] += customer_time_list[j] i += 1 j += 1 # 如果j到了最后一個結賬出口,重新歸零 if j == n: j = 0 # 匯總最小總時間 k = 0 while k < n: min_sum_customer_time += sum_customer_time_list[k] k += 1 return min_sum_customer_time四、算法測試結果

準備一個顧客排隊序列和指定收銀臺數量,得到最小時間

customer_list = [6, 5, 3, 4, 2, 1]print(greedy(customer_list, 2))

Python實現貪心算法的示例

五、算法復雜性分析

程序主要是花費在對各顧客所需服務時間的排序和貪心算法,即計算平均服務時間上面。其中,貪心算法部分只有一重循環影響時間復雜度,其時間復雜度為O(n):而排序算法的時間復雜度為O(nlogn)。因此,綜合來看算法的時間復雜度為O(nlogn)。

以上就是Python實現貪心算法的示例的詳細內容,更多關于Python實現貪心算法的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 精品久久不卡 | 久久精品国产精品青草图片 | 亚洲精品一区二区三区美女 | 国产精品a在线观看香蕉 | 精品日韩一区二区三区视频 | 国产激情一区二区三区成人91 | 国产爽视频| 一级做a爱片特黄在线观看免费看 | 欧美a在线视频 | 国产黄色三级网站 | 香港黄页亚洲一级 | 亚洲国产成人综合 | 国产一区二三区 | 亚洲欧美国产精品专区久久 | 成人禁啪啪网站 | 欧美精品久久久久久久影视 | 黄视频免费在线看 | 国产亚洲久久 | 国产一级又色又爽又黄大片 | 日本精品在线 | 国产亚洲免费观看 | 国产原创在线视频 | 91一区二区视频 | 十六以下岁女子毛片免费 | 国产精品嫩草影院一二三区 | 成人免费一区二区三区在线观看 | 欧美洲久久日韩欧美 | 婷婷色综合 | 亚洲精品一区二区三区在线播放 | 亚洲在线一区二区三区 | 精品亚洲视频在线 | 国产换爱交换乱理伦片 | 成人毛片一区二区三区 | 国产三级91 | 免费特黄级夫费生活片 | 深夜欧美福利视频在线观看 | 性视频一区二区三区免费 | 麻豆网站视频国产在线观看 | japanese亚洲人妖 | 污的网址 | 国产色播 |