这是CLRS的一个问题。一块磁盘由圆和其内部组成,用其中心点和半径表示。如果两个磁盘有任何公共点,则它们相交。给出一个O(n lg n)时间算法来确定n个磁盘集合中是否有任何两个磁盘相交。
我的理解是,我们可以将每个圆的水平直径作为代表线段。如果两个订单连续,则检查两个中心之间的距离长度。如果它小于或等于圆的半径之和,则它们相交。
请告诉我我理解得对吗?
我的理解是,我们可以将每个圆的水平直径作为代表线段。如果两个订单连续,则检查两个中心之间的距离长度。如果它小于或等于圆的半径之和,则它们相交。
请告诉我我理解得对吗?