algorithm - 平面扫描算法 - 位于磁盘之外的点
问题描述
LetD
是一组n
不相交的磁盘并且P
是一组n
点。
如何设计一种O(n*log(n))
平面扫描算法来报告P
位于所有磁盘之外的每个点?
解决方案
从上到下对点进行排序,并按其顶部纵坐标对磁盘进行排序。“活动列表”包含与当前点水平相交的所有磁盘。
您将从一个点到另一个点,每次更新活动列表(检查新条目和退出)。
如果当前点位于活动列表中的所有磁盘之外,则当前点位于所有磁盘之外。
推荐阅读
- airflow - 气流调度程序不会排队一些已在 UI 中清除的任务
- android - 如何阻止片段一直弹出到根片段?[导航组件]
- python - 在python中应用R的函数
- sql - SSRS CASE 基于参数选择然后传递 Select 语句
- typescript - 声明符合类型的函数
- python - Python:如果在函数中声明了一个变量,我可以在下次调用该函数时访问它的值吗?
- intellij-idea - Selenide IntelliJ IDEA - 将当前剪贴板中的文本插入登录表单而不是 @
- sql - 复制 Crystal Reports 查询,它在 SQL Studio 中不返回任何数据
- javascript - 为什么我的图像没有按预期更新?
- java - Spring Boot 不为 apring.profiles.active 属性解析 yaml 中的属性占位符