看电视

来自计算思维百科
跳转至: 导航搜索
看电视1.png

由于小明考试取得了进步,小明妈妈决定在周六奖励小明看两个小时的电视。小明选择了在晚上七点到九点这个时间段来看电视。但是小明查看了节目表如下,发现这个时间段有好几个自己想看的节目。他觉得很困扰。

请你根据节目表来帮小明安排一下看节目的顺序,让小明在两个小时内看到尽量多的节目。

寻找世界的美食

超级搞搞震

少儿歌唱比赛

喜羊羊与灰太狼

7:30—8:30

8:00—9:30

7:15—8:00

6:30—7:30

解决方案—拓扑排序

我们可以根据节目表的时间顺序来画出有向图,如下:

看电视3.png

根据有向图进行拓扑排序,即可得到观看节目的时间。

(1)得到入度为0(没有箭头指向自己)的“喜羊羊与灰太狼”结点,继续;

看电视4.png

(2)得到入度为0的“少儿歌唱比赛”,继续;

看电视5.png

(3)得到入度为0的“寻找世界的美食”,继续;

看电视6.png

(4)得到入度为0的“超级搞搞震”,结束。

于是,可以得出观看顺序为:喜羊羊与灰太狼->少儿歌唱比赛->寻找世界的美食->超级搞搞震。

运用的计算思维

通过有向图来表示电视节目播出的时间顺序,然后进行拓扑排序的方法可以使看到的节目数量尽可能的多。把问题转化为有向图模型,使问题形象化,从而使问题变得清晰。体现了计算思维的抽象和转化思想。