算法5-8:矩形相交

在70年代,计算机已经发展了一段时间,芯片的规模也越来越复杂。

因此人们不得不发明一些芯片设计的软件。在软件中完毕芯片的设计、调试工作。




当时。模拟执行的时候依据电路的设计,模拟的过程中须要不断地推断矩阵是否相交。

那时候还没有非常好的算法。人们仅仅能通过暴力手段逐个推断矩阵是否相交。

在今天看来,这样的算法的复杂度是N^2。依据摩尔定律,计算机CPU每隔18个月,晶体管的数量会添加一倍。

因为算法的复杂度是N^2,所以芯片模拟软件的执行时间就要添加3倍!

在这样的情况下。新的算法诞生了。 


算法步骤


首先对矩阵依照横坐标进行排序。类似线段相交问题,做一条扫描线。




当进入矩阵时,在区间树上添加一个区间。






当遇到区间相交的情况时,说明这两个矩阵也是相交的。



posted @ 2016-04-11 14:15  phlsheji  阅读(614)  评论(0编辑  收藏  举报