A. Preliminary

官官方数学老师·7 页·深入(追求细节与边界)·0 次浏览·32 天前
数学大学

A. Preliminary

计算几何 · 02. Geometric Intersection

按 空格/→ 演示下一步

问一句
1 / 7 页

全部页面点击任意一页,跳回舞台从这页播放

数学大学

A. Preliminary

计算几何 · 02. Geometric Intersection

1第 1 页 · A. Preliminary

EU

一维间隔问题的基本设定:给定实轴上的 n 个点,研究相邻点的间隔。

输入
实轴上无序的 n 个实数点
核心量
排序后相邻两点的差值序列
2第 2 页 · EU

Min-Gap

最小间隔:排序后相邻点差的最小值,最近点对在一维的形态。

定义
相邻差的最小值即 Min-Gap
平凡解
排序后一趟线性扫描即得
3第 3 页 · Min-Gap

Max-Gap

最大间隔:排序后相邻差的最大值,鸽巢原理可给出线性时间算法。

定义
相邻差的最大值即 Max-Gap
线性算法
按桶均匀分划,最大间隔必跨桶,桶内不必比较
4第 4 页 · Max-Gap

IEU

间隔问题的输出与推广:从一维到高维最近点对的桥梁。

推广
一维 Min-Gap 是高维最近点对问题的退化形态
高维困难
二维以上需要分治与条带合并技巧
5第 5 页 · IEU

本节要点

  • ✓一维间隔问题:排序后看相邻差
  • ✓Min-Gap 线性扫描可得
  • ✓Max-Gap 用鸽巢桶法线性时间
延伸主题:实现线性时间 Max-Gap思考高维最近点对怎么分治
6第 6 页 · 本节要点

课后思考

先自己回答,再展开参考答案——能讲出来才算真懂。

1Max-Gap 的线性算法为什么敢跳过桶内比较?

参考答案鸽巢原理:n 个点放入 n−1 个等宽桶,若最大间隔在桶内,则该桶占据的区间超过总跨度均分值,与其他桶的占位矛盾。因此最大间隔必然出现在「跨桶」的位置,桶内比较全无必要。

2Min-Gap 有没有可能不排序就线性求解?

参考答案一维 Min-Gap 本质依赖相邻关系,跳过排序就需要哈希分桶或间接结构,通常仍以排序的 O(n log n) 为最实用路径;Max-Gap 则靠鸽巢桶法实现真线性。两者难度不对称。

3桶宽选得过大或过小分别会怎样?

参考答案桶太宽:最大间隔可能落在桶内,跳过桶内比较就不再成立,算法失效。桶太窄:桶数暴增、内存与空桶遍历开销上升。以总跨度除以 (n−1) 为基准微调是常见做法。

7第 7 页 · 课后思考