首页 软件设计师正文

现需要申请一些场地举办一批活动,每个活动有开始时间和结束时间(2018年上半年软件设计师上午综合知识真题解析)

现需要申请一些场地举办一批活动,每个活动有开始时间和结束时间。在同一个场地,如果一个活动结束之前,另一个活动开始,即两个活动冲突。若活动A从1时间开始,5时间结束,活动B从5时间开始,8时间结束,则活动A和B不冲突。现要计算n个活动需要的最少场地数。
求解该问题的基本思路如下(假设需要场地数为m,活动数为n,场地集合为P1,P2,…,Pm),初始条件Pi均无活动安排:
(1)采用快速排序算法对n个活动的开始时间从小到大排序,得到活动a1,a2,…,an。对每个活动ai,i从1到n,重复步骤(2)、(3)和(4);
(2)从p1开始,判断ai与P1的最后一个活动是否冲突,若冲突,考虑下一个场地P2,…;
(3)一旦发现ai与某个Pj的最后一个活动不冲突,则将ai安排到Pj,考虑下一个活动;
(4)若ai与所有己安排活动的Pj的最后一个活动均冲突,则将ai安排到一个新的场地,考虑下一个活动;

(5)将n减去没有安排活动的场地数即可得到所用的最少场地数

算法首先采用了快速排序算法进行排序,其算法设计策略是();后面步骤采用的算法设计策略是()。整个算法的时间复杂度是()。下表给出了n=11的活动集合,根据上述算法,得到最少的场地数为()。
A.分治
B.动态规划
C.贪心
D.回溯
A.分治
B.动态规划
C.贪心
D.回溯
A.Θ(lgn)
B.Θ(n)
C.Θ(nlgn)
D.Θ(n 2)
A.4
B.5
C.6
D.7






参考答案: A、C、D、B
参考解析:正在整理中,欢迎在文下评论区提供答案解析,谢谢!
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接:https://scpro.cn/v/63331c14b82411ee.html

相关文章

最近发表