国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

計算機算法分析與設(shè)計(14)---貪心算法(會場安排問題和最優(yōu)服務(wù)次序問題)

這篇具有很好參考價值的文章主要介紹了計算機算法分析與設(shè)計(14)---貪心算法(會場安排問題和最優(yōu)服務(wù)次序問題)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。


一、會場安排問題

1.1 問題描述

?假設(shè)在足夠多的會場里安排一批活動,并希望使用盡可能少的會場。設(shè)計一個有效的貪心算法進行安排。

數(shù)據(jù)輸入:
1 1 1 行中有一個整數(shù) n n n,表示有 n n n 個待安排的活動。接下來的 n n n 行中,每行有 2 2 2 個正整數(shù),分別表示 n n n 個待安排的活動的開始時間和結(jié)束時間。時間以 0 0 0 點開始的分鐘計。
數(shù)據(jù)輸出:
計算出的最少會場數(shù)并輸出。

1.2 思路分析

?1. 貪心策略:采用結(jié)束時間最早的會場作為貪心選擇。

?2. 用數(shù)組 s s s f f f 分別存儲各活動的開始時間和結(jié)束時間。

  • 將數(shù)組 s s s 排序,該次序為各活動選擇會場的次序。
  • 將數(shù)組 f f f 排序。由于會場的結(jié)束時間由活動的結(jié)束時間決定,排序后的數(shù)組也是會場的結(jié)束時間點。

?3. (1)先為最早開始的活動開辟一個會場,此時會場的最早結(jié)束時間為該活動的結(jié)束時間。(2)然后遍歷剩下的活動。對于每個活動,判斷當(dāng)前最早結(jié)束的會場內(nèi)是否仍有活動:如果有,開辟一個新會場;如果沒有,說明當(dāng)前最早結(jié)束的會場能容納當(dāng)前的活動,更新會場的結(jié)束時間點,保證最早結(jié)束的會場最先開始下一個活動。

1.3 例題分析

?設(shè)有 4 4 4 個活動,每個活動的開始和結(jié)束時間分別為 {1, 6},{4, 8},{9, 10},{7, 18}。
貪心算法:最優(yōu)服務(wù)次序問題并寫出偽代碼,計算機算法分析與設(shè)計第五版(王曉東),算法,貪心算法,會場安排問題,最優(yōu)服務(wù)次序問題,C++

可能有同學(xué)有疑惑:每個活動的開始時間和結(jié)束時間怎么是分開排序的?那每個活動的開始時間和結(jié)束時間關(guān)聯(lián)性不是打破了嗎?有關(guān)聯(lián)性的東西怎么能排序?
: 這道題不用關(guān)聯(lián),這個解法,只需要關(guān)心開始時間和結(jié)束時間,,只要集合里面的最大結(jié)束時間和當(dāng)前的開始時間就可以。

1.4 代碼編寫

樣例輸入:
5
1 23
12 28
25 35
27 80
36 50
樣例輸出:
3

時間復(fù)雜度為 O ( n l o g n ) O(nlogn) O(nlogn)

#include<bits/stdc++.h>
using namespace std;
int main(){
	int n;
	cout<<"請輸入活動的個數(shù):"<<endl;
	cin>>n;
	
	int s[n],f[n];
	cout<<"請輸入每個活動的開始時間和結(jié)束時間:"<<endl;
	for(int i=0;i<n;i++)
	{
		cin>>s[i]>>f[i];
	}
	
	sort(s,s+n);//理解一下為什么都要升序 
	sort(f,f+n);
	
	//會場的最短結(jié)束時間次序用j來表示,待分配的活動按i來遍歷 
	int j=0,ans=0;
	
	for(int i=0;i<n;i++)
	{
		if(s[i] < f[j])
		{
			ans++;
		}
		else
		{
			j++;
		}
	} 
     
	cout<<"最小會場數(shù)是:"<<ans<<endl; 
	return 0;
}

貪心算法:最優(yōu)服務(wù)次序問題并寫出偽代碼,計算機算法分析與設(shè)計第五版(王曉東),算法,貪心算法,會場安排問題,最優(yōu)服務(wù)次序問題,C++

二、最優(yōu)服務(wù)次序問題

2.1 問題描述

?設(shè)有 n n n 個顧客同時等待一項服務(wù)。顧客 i i i 需要的服務(wù)時間為 t i t_i ti?, 1 ≤ i ≤ n 1≤i≤n 1in。應(yīng)如何安排 n n n 個顧客的服務(wù)次序才能使平均等待時間達到最小? 平均等待時間是 n n n 個顧客等待服務(wù)時間的總和除以 n n n。對于給定的 n n n 個顧客需要的服務(wù)時間,編程計算最優(yōu)服務(wù)次序。

數(shù)據(jù)輸入:
1 1 1 行是正整數(shù) n n n,表示有 n n n 個顧客。接下來的 1 1 1 行中,有 n n n 個正整數(shù),表示 n n n 個顧客需要的服務(wù)時間。
數(shù)據(jù)輸出:
輸出對應(yīng)的最小平均等待時間,保留 2 2 2 位小數(shù)。

2.2 思路分析

?貪心策略:服務(wù)時間較短的顧客先完成他的業(yè)務(wù),就會使總的等待時間達到最短。

2.3 代碼編寫

樣例輸入:
10
56 12 1 99 1000 234 33 55 99 812
樣例輸出:
532.00

#include<bits/stdc++.h>
using namespace std;
int main()
{
	int n;
	cout<<"請輸入顧客的數(shù)目:"<<endl;
	cin>>n;
	
	int a[n];
	cout<<"請輸入每位顧客需要服務(wù)的時間:"<<endl; 
	for(int i=0;i<n;i++)
	{
		cin>>a[i];
	}
	
	sort(a,a+n);  //將每位顧客的等待時間按升序排序 
	
	int sum=0;
	int num=n;  //還剩下num個人在同時等當(dāng)前這個在辦理業(yè)務(wù)的人
	for(int i=0;i<n;i++)
	{
		sum = sum+num*a[i]; //接受服務(wù)的那個人其實也在等待自己的服務(wù)結(jié)束 
		num--;
	}

    cout<<"平均等待時間是:"<<endl;
    double ans=sum/n;
	cout<<fixed<<setprecision(2)<<ans<<endl;
	return 0; 
}

貪心算法:最優(yōu)服務(wù)次序問題并寫出偽代碼,計算機算法分析與設(shè)計第五版(王曉東),算法,貪心算法,會場安排問題,最優(yōu)服務(wù)次序問題,C++文章來源地址http://www.zghlxwxcb.cn/news/detail-781323.html

到了這里,關(guān)于計算機算法分析與設(shè)計(14)---貪心算法(會場安排問題和最優(yōu)服務(wù)次序問題)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • <算法>貪心策略設(shè)計并解決會場安排問題

    <算法>貪心策略設(shè)計并解決會場安排問題

    ?? ?每個不曾起舞的日子都是對生命的辜負 ?? 寫在前面 期末考試鄰近,為了更好的應(yīng)對《算法設(shè)計與分析》這門課程,我把書上以及老師講過的案例都詳細的做一個重現(xiàn)及解剖,讓你熟記每一個潛在的考點,希望能給大家?guī)椭??? 目錄 問題描述 ?貪心策略 ?算法設(shè)計

    2024年02月08日
    瀏覽(16)
  • 計算機算法設(shè)計與分析(第5版)PDF

    計算機算法設(shè)計與分析(第5版)PDF

    《計算機算法設(shè)計與分析(第5版)》是2018年電子工業(yè)出版社出版的圖書,作者是 王曉東 。 整本書的結(jié)構(gòu) 是:先介紹算法設(shè)計策略思想,然后從解決經(jīng)典算法問題來學(xué)習(xí),通過實踐的方式去學(xué)習(xí)算法。 網(wǎng)絡(luò)上許多的算法文章都出自于這本書,該書成為了很多開發(fā)者學(xué)習(xí)算法

    2024年02月11日
    瀏覽(17)
  • 計算機算法分析與設(shè)計(22)---回溯法(最小重量機器設(shè)計問題)

    計算機算法分析與設(shè)計(22)---回溯法(最小重量機器設(shè)計問題)

    ?設(shè)某一機器由 n n n 個部件組成,每種部件都可以從 m m m 個不同的供應(yīng)商處購得。設(shè) w i j w_{ij} w ij ? 是從供應(yīng)商 j j j 處購得的部件i的重置, c i j c_{ij} c ij ? 是相應(yīng)的價格。設(shè)計一個算法,給出總價格不超過 d d d 的最小重量機器設(shè)計。 數(shù)據(jù)輸入: 第 1 1 1 行有 3 3 3 個正整

    2024年02月06日
    瀏覽(26)
  • 【計算機算法設(shè)計與分析】圖像壓縮問題(C++_動態(tài)規(guī)劃)

    在計算機中常用像素點灰度值序列 { p 1 , p 2 , . . . , p n } { p_1, p_2, ..., p_n } { p 1 ? , p 2 ? , ... , p n ? } 表示圖像。其中整數(shù) p i ( 1 ≤ i ≤ n ) p_i(1leq i leq n) p i ? ( 1 ≤ i ≤ n ) ,表示像素點i的灰度值。通?;叶戎档姆秶?~255。因此,需要用8位表示一個像素。 圖像的變位壓

    2024年02月03日
    瀏覽(18)
  • 符號三角形-計算機算法設(shè)計與分析【1600+字解析 dfs全排列 列舉情況】【題意分析】【算法分析】【思路是怎么來的】【過程是什么】

    符號三角形-計算機算法設(shè)計與分析【1600+字解析 dfs全排列 列舉情況】【題意分析】【算法分析】【思路是怎么來的】【過程是什么】

    下圖是由14個“+”和14個“-”組成的符號三角形。2個同號下面都是“+”,2個異號下面都是“-”。 在一般情況下,符號三角形的第一行有n個符號。符號三角形問題要求對于給定的n,計算有多少個不同的符號三角形,使其所含的“+”和“-”的個數(shù)相同。 題意分析 也就是 給

    2024年02月03日
    瀏覽(23)
  • 計算機畢業(yè)設(shè)計:基于python招聘數(shù)據(jù)分析可視化系統(tǒng)+預(yù)測算法+爬蟲+Flask框架(建議收藏)

    計算機畢業(yè)設(shè)計:基于python招聘數(shù)據(jù)分析可視化系統(tǒng)+預(yù)測算法+爬蟲+Flask框架(建議收藏)

    [畢業(yè)設(shè)計]2023-2024年最新最全計算機專業(yè)畢設(shè)選題推薦匯總 2023年 - 2024年 最新計算機畢業(yè)設(shè)計 本科 選題大全 匯總 感興趣的可以先收藏起來,還有大家在畢設(shè)選題,項目以及論文編寫等相關(guān)問題都可以給我留言咨詢,希望幫助更多的人?。 本項目旨在通過使用Python的requests庫

    2024年01月23日
    瀏覽(21)
  • 計算機專業(yè)畢業(yè)設(shè)計項目推薦14-文檔編輯平臺(SpringBoot+Vue+Mysql)

    計算機專業(yè)畢業(yè)設(shè)計項目推薦14-文檔編輯平臺(SpringBoot+Vue+Mysql)

    本系列(后期可能博主會統(tǒng)一為專欄)博文獻給即將畢業(yè)的計算機專業(yè)同學(xué)們,因為博主自身本科和碩士也是科班出生,所以也比較了解 計算機專業(yè) 的 畢業(yè)設(shè)計流程以及模式 ,在編寫的過程中可以說幾乎是參照 畢業(yè)設(shè)計目錄樣式 來進行的. 博主分享的基本都是自己接觸過的項目

    2024年02月08日
    瀏覽(32)
  • 山東大學(xué)計算機科學(xué)與技術(shù)學(xué)院程序設(shè)計思維與實踐作業(yè) week14-動態(tài)規(guī)劃(4)

    山東大學(xué)計算機科學(xué)與技術(shù)學(xué)院程序設(shè)計思維與實踐作業(yè) week14-動態(tài)規(guī)劃(4)

    山東大學(xué)計算機科學(xué)與技術(shù)學(xué)院程序設(shè)計思維與實踐作業(yè) 山大程序設(shè)計思維與實踐作業(yè) sdu程序設(shè)計思維與實踐 山東大學(xué)程序設(shè)計思維實踐作業(yè)H14 山大程序設(shè)計思維實踐作業(yè)H14 山東大學(xué)程序設(shè)計思維與實踐 week14-動態(tài)規(guī)劃(4) 相關(guān)資料:GitHub 題目描述 給出一棵樹,求樹的

    2024年02月09日
    瀏覽(147)
  • 計算機競賽 地鐵大數(shù)據(jù)客流分析系統(tǒng) 設(shè)計與實現(xiàn)

    計算機競賽 地鐵大數(shù)據(jù)客流分析系統(tǒng) 設(shè)計與實現(xiàn)

    ?? 優(yōu)質(zhì)競賽項目系列,今天要分享的是 地鐵大數(shù)據(jù)客流分析系統(tǒng) 該項目較為新穎,適合作為競賽課題方向,學(xué)長非常推薦! ?? 更多資料, 項目分享: https://gitee.com/dancheng-senior/postgraduate 使用 Flink 完成數(shù)據(jù)清洗和聚合,使用 Elasticsearch + Kibana 的的技術(shù)路線,完成了客流信息

    2024年02月11日
    瀏覽(41)
  • 地鐵大數(shù)據(jù)客流分析系統(tǒng) 設(shè)計與實現(xiàn) 計算機競賽

    地鐵大數(shù)據(jù)客流分析系統(tǒng) 設(shè)計與實現(xiàn) 計算機競賽

    ?? 優(yōu)質(zhì)競賽項目系列,今天要分享的是 地鐵大數(shù)據(jù)客流分析系統(tǒng) 該項目較為新穎,適合作為競賽課題方向,學(xué)長非常推薦! ?? 更多資料, 項目分享: https://gitee.com/dancheng-senior/postgraduate 使用 Flink 完成數(shù)據(jù)清洗和聚合,使用 Elasticsearch + Kibana 的的技術(shù)路線,完成了客流信息

    2024年02月08日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包