这是一道算法设计题目,我急需要详细的分析和求解过程,请高手帮帮忙啊!谢啦!
5.设有n个顾客同时等待一项服务。顾客i需要的服务时间为ti,1<=i<=n。应如何安排n个顾客的服务次序才能使总的等待时间达到最小?总的等待时间是每个顾客等待服务时间的...
5. 设有n个顾客同时等待一项服务。顾客i需要的服务时间为ti,1<=i<=n。应如何安排n个顾客的服务次序才能使总的等待时间达到最小?总的等待时间是每个顾客等待服务时间的总和。
展开
2个回答
展开全部
其实这一题好像比较经典啦!顾客服务时间问题。采取贪心算法解决即可。还是搜搜关于贪心算法的例子吧。希望下面的代码对你有所帮助。
将每个人的耗时按从小到大的顺序排列。依次服务,可使等待时间最短。
double Greedy( int a[] )
{
sort();
for(int I = 0; I < n; i++)
x[i] += x[i-1]; // 每个人的耗时
double t = 0;
for (I = 0; I < n; i++)
t += x[i]; // t为总耗时
}
将每个人的耗时按从小到大的顺序排列。依次服务,可使等待时间最短。
double Greedy( int a[] )
{
sort();
for(int I = 0; I < n; i++)
x[i] += x[i-1]; // 每个人的耗时
double t = 0;
for (I = 0; I < n; i++)
t += x[i]; // t为总耗时
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询