问题描述:
假设要在足够多的会场里安排一批活动,并希望使用尽可能少的会场。设计一个有效的贪心算法进行安排(这个问题实际上是著名的图着色问题。若将每一个活动作为图的一个顶点,不相容活动间用边相连。使相邻顶点着有不同颜色的最小着色数,相应于要找的最小会场数)。
来换一个描述
为了能够更加生动说明问题的整个过程,所以换一个类似的描述来契合《算法图解》一书中的描述。
你没法让这些课都在这间教室上,因为有些课的上课时间有冲突。
你希望这间教室上尽可能多的课。如何选出尽可能多且时间不冲突的课程呢?
这个问题似乎很难,但算法却简单得让人吃惊。具体做法如下:
- ①选出结束最早的课,它就是要在这间教室上的第一堂课。
- ②接下来,必须选择第一堂课结束后才开始的课。同样,你选择结束最早的课,这将是要在这间教室上的第二堂课。
重复这样做就能找出答案!下面来试一试。美术课的结束时间最早,为10:00 a.m,因此它就是第一堂课。
接下来的课必须在10:00 a.m后开始,且结束得最早。
英语课不行,因为它的时间与美术课冲突,但数学课满足条件。最后&#