阅读下列算法说明和流程图,根据要求回答问题1~问题3。 [说明] 某机器上需要处理n个作业job1,job2,
阅读下列算法说明和流程图,根据要求回答问题1~问题3。
[说明]
某机器上需要处理n个作业job1,job2,…,jobn,其中:
(1)每个作业jobi(1≤i≤n)的编号为i,jobi有一个收益值P[i]和最后期限值d[i];
(2)机器在一个时刻只能处理一个作业,而且每个作业需要一个单位时间进行处理,一旦作业开始就不可中断,每个作业的最后期限值为单位时间的正整数倍;
(3)job1~jobn的收益值呈非递增顺序排列,即p[1]≥p[2]≥…≥p[n];
(4)如果作业jobi在其期限之内完成,则获得收益p[i];如果在其期限之后完成,则没有收益。
为获得较高的收益,采用贪心策略求解在期限之内完成的作业序列。图3-25是基于贪心策略求解该问题的流程图。
(1)整型数组J[]有n个存储单元,变量k表示在期限之内完成的作业数,J[1..k]存储所有能够在期限内完成的作业编号,数组J[1..k)里的作业按其最后期限非递减排序,即d[J[1]]≤…≤d[J[k]]。
(2)为了便于在数组J中加入作业,增加一个虚拟作业job0,并令d[0]=0,J[0]=0。
(3)算法大致思想是:先将作业job1的编号1放入J[1],然后,依次对每个作业jobi(2≤i≤n)进行判定,看其能否插入到数组J中。若能,则将其编号插入到数组J的适当位置,并保证J中作业按其最后期限非递减排列;否则不插入。
jobi能插入数组J的充要条件是:jobi和数组J中已有作业均能在其期限之内完成。
(4)流程图中的主要变量说明如下。
i:循环控制变量,表示作业的编号;
k:表示在期限内完成的作业数;
r:若jobi能插入数组J,则其在数组J中的位置为r+1;
q:循环控制变量,用于移动数组J中的元素。
请将图3-25中的(1)~(3)空缺处的内容填写完整。


这是一道考查贪心算法的流程图分析的试题。(1)空缺处表示第2个作业到第n个作业的主循环的条件判断,由于i是循环控制变量,因此(1)空缺处所填写的内容是i=h。 注意到题干中给出的关键信息“J[1..k)存储所有能够在期限内完成的作业编号,数组J[1..k]里的作业按其最后期限非递减排序,即


假如你是一个发明家,你想发明什么?英语作文想想看,现在你是一个发明家,你最想发明什么东西呢?一个机 英语 2020-04-11 …
如何求化合物中各元素的质量比计算H O两种元素的质量比1.查处H O两种元素的质量 H:1 O:1 化学 2020-05-16 …
∠AOB=90°,OA=45cm,OB =15cm,一机器人在点B处看见一个小球从点A出发沿着AO 数学 2020-05-17 …
如果O+O=U+U+U,O+Z=U+U+U+U,那么Z+Z+U=()个O.如果设U=6,那么O=( 数学 2020-06-18 …
OA垂直于OB,OA=45cm,OB=15cm,一机器人在点B处发现有一个小球从A点出发沿着AO方 数学 2020-07-07 …
两个相同的容器,内盛有相同体积、相同温度的热水,一个容器表明是白色的,另一个表明是黑色的,把它们放在 物理 2020-11-08 …
中国古代的每一个历史时期,都会有某种手工业品代表该时期手工业的水平。下列分类正确的是A.商周铁器—— 历史 2020-12-07 …
中国古代每一个历史时期都会有某种手工制品代表该时期手工业的最高水平下面各组对应正确的是()A.商朝― 历史 2020-12-07 …
己知关于x的方程是ax的平方减3(a一1)x一9=O(1)证明:不论a取任值,总有—个根是x=3;( 数学 2020-12-31 …
如图,∠AOB=90°,OA=45M,OB=15M,一机器人在点B处看见一个小球从点A出发沿着AO方 数学 2021-01-06 …