Luke a Pro

Luke Sun

Developer & Marketer

🇺🇦
EN||

数学与几何:概览

| , 2 minutes reading.

数学与几何:概览

典型业务场景

数学算法通常是视觉和安全系统背后隐藏的引擎:

  • 安全 (RSA):BB 是一个 2048 位的数字时,如何计算 AB(modM)A^B \pmod M? (快速幂)。
  • 游戏开发: 检测碰撞或计算敌人的“视野锥” (几何 / 凸包)。
  • 金融: 通过模拟数百万种可能的市场未来来为复杂的衍生品定价 (蒙特卡洛)。
  • 数据布局: 计算最佳网格大小或调度周期性任务 (GCD / LCM)。

选型框架:怎么选?

  1. 你在处理超大数字吗?
    • 是: 使用 快速幂 (Binary Exponentiation) 进行幂运算,使用 欧几里得算法 求约数。
  2. 问题是确定性的还是概率性的?
    • 确定性: 使用精确公式 (几何, 矩阵运算)。
    • 太复杂无法用公式求解: 使用 蒙特卡洛模拟 (Monte Carlo) 来逼近答案。
  3. 你在处理 2D/3D 形状吗?
    • 寻找边界: 使用 凸包 (Convex Hull) (Graham 扫描法)。
    • 求交点: 使用 扫描线 (Line Sweep) 算法。

常见算法速览

  • 7.1 快速幂:O(logn)O(\log n) 时间内计算 xnx^n。密码学的基石。
  • 7.2 GCD (欧几里得算法): 这个有 2000 年历史的算法至今仍是求最大公约数的最快方法。
  • 7.3 蒙特卡洛: 通过向棋盘投掷随机飞镖来解决不可能的积分问题。
  • 7.4 凸包 (Graham 扫描): 用一根橡皮筋将一组点紧紧包住。

选型对比速查

需求推荐算法复杂度应用场景
大数幂运算 (ABA^B)快速幂O(logB)O(\log B)RSA, Diffie-Hellman
约数 / 质数欧几里得算法O(log(min(A,B)))O(\log (\min(A, B)))密码学, 调度系统
模拟 / 近似求解蒙特卡洛取决于采样数光线追踪, 风险分析
形状边界凸包 (Convex Hull)O(NlogN)O(N \log N)碰撞检测, 机器人
求交扫描线算法O(NlogN)O(N \log N)矢量图形, 地图服务

一句话心法

“数学算法是捷径。它们利用数字和空间的属性,跳过了数十亿个不必要的计算步骤。”