计算机算法分析与设计(13)

您所在的位置:网站首页 fifa20sbc全部作业 计算机算法分析与设计(13)

计算机算法分析与设计(13)

2024-07-17 01:12:36| 来源: 网络整理| 查看: 265

文章目录 一、问题概述 1.1 思路分析 1.2 实例分析 二、代码编写 一、问题概述 1.1 思路分析

 1. 设有

n

n

n 个独立的作业

1

,

2

,

,

n

{1, 2, …, n}

1,2,…,n,由

m

m

m 台相同的机器

M

1

,

M

2

,

,

M

m

{M_1, M_2, …, M_m}

M1​,M2​,…,Mm​ 进行加工处理,作业

i

i

i 所需的处理时间为

t

i

(

1

i

n

)

t_i(1≤i≤n)

ti​(1≤i≤n),每个作业均可在任何一台机器上加工处理,但不可间断、拆分。多机调度问题要求给出一种作业调度方案,使所给的

n

n

n 个作业在尽可能短的时间内由

m

m

m 台机器加工处理完成。

 2. 解决思路:(1)如果

n

<

m

nm

n>m,则用贪心算法求解。

 3. 贪心算法求解多机调度问题的贪心策略是最长处理时间的作业优先,即把处理时间最长的作业分配给最先空闲的机器,这样可以保证处理时间长的作业优先处理,从而在整体上获得尽可能短的处理时间。

1.2 实例分析

 设

7

7

7 个独立作业

1

,

2

,

3

,

4

,

5

,

6

,

7

{1, 2, 3, 4, 5, 6, 7}

1,2,3,4,5,6,7 由

3

3

3 台机器

M

1

,

M

2

,

M

3

{M1, M2, M3}

M1,M2,M3 加工处理,各作业所需的处理时间分别为

2

,

14

,

4

,

16

,

6

,

5

,

3

{2, 14, 4, 16, 6, 5, 3}

2,14,4,16,6,5,3。贪心算法产生的作业调度如下图所示。所需要的加工时间为17。

二、代码编写 #include using namespace std; bool compare(int a,int b) { return a>b; } int main(){ int n,m; //作业个数为n, 机器个数为m coutm; vector time(n); //vector machine(m); //理解成m×1二维数组 vector sumTime(m,0); //0表示初始化值为0 cout select=j; } } //machine[select].push_back(time[i]); sumTime[select]=sumTime[select]+time[i]; } int maxTime=sumTime[0]; for(int j=0;j maxTime=sumTime[j]; } } for(int j=0;j


【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭