下面主要介绍1个多岔道口交通灯的管理问题,由于该节的知识点在[37]中已讲过了,所以在这里插入1点书外知识。
在1般的道路上,我们通常看见的就是红绿两种色彩的交通灯,这样就能够保持正常的交通秩序,又能到达车流量的最大量。之前当我站在人来人往的天桥上,车如马龙的街道上的时候,看见这个红绿灯,看着它默默的每天都是循环往复,帮助这个城市有秩序的运转,就不明觉厉。能感觉到红绿两色对城市交通的重要性和意义!虽然看起来简单,但是要想到达让全部城市的交通畅通无阻而且每天能发挥出公路的最大效力,也就是大道车流量的最大值,背后却不是这么简单的,需要公道的算法设置灯的色彩和更好实现全局协作。交通情况以下图所示:
图1 图2
下面就简单的来讲说交通灯的问题吧!--摘自严蔚敏老师的《数据结构》(C语言版)1书,觉得挺成心思就写了下来:题目: 要求设计1种交通灯方案,使过往的车辆能有秩序的行驶不产生冲突,并且充分最大发挥公路的效力,尽最大可能减缓城市的交通压力。
例如在中上图1中,就是1个城市的5岔道口,ABCDE分别表示这5个路口,E和C分别是单向车道。这里每天都有大量的车流量。通常这类交通、道路问题的数学模型是1种称为“图”的数据结构。图2中的每一个顶点表示1条通路,如AB代表车从A开向B。而如果存在矛盾的通路我们用连线来表示,例如AB和EA之间有1条连线,表示有车从A向B行驶的时候就不能有车从E到A行驶。
由此,我们知道在图2中,每一个圆圈表示图a5岔道口上的1条通路,两个圆圈之间的连线表示这两个圆圈不能同时通行。经过这样的设计抽象和转化后,看似复杂的问题这这里设置交通灯的问题就能够等价为:对图着色的问题,
下一篇 php面试宝典