数论与计算几何:凸包问题的算法解析

需积分: 19 3 下载量 92 浏览量 更新于2024-07-15 收藏 621KB PDF 举报
"本章主要探讨了数论算法与计算几何算法,特别关注了凸包问题的解决策略。" 在数论算法中,我们通常研究的是与整数理论相关的计算问题,例如素数检测、最大公约数(GCD)、最小公倍数(LCM)等。这些算法在密码学、优化问题和数据压缩等领域有着广泛应用。然而,本章重点讨论的是计算几何算法,特别是凸包问题。 凸包问题是指给定一个点集,找到一个最小的凸多边形,使得所有点都在多边形的边界上或内部。这是一个基础且重要的问题,广泛应用于计算机图形学、机器学习以及路径规划等。例如,计算物体的最小包围区域或确定可见区域时都会用到。 解决凸包问题的方法主要有穷举搜索法和分治法。首先,穷举搜索法基于凸多边形的性质,即任何两点连线上的其他点都必须在同一侧。通过遍历所有点对,检查它们是否构成边界,可以找到凸包。算法的时间复杂度为O(n^3),效率较低,适用于小规模数据。 分治法则更为高效。首先对点集按x坐标升序排序,相同x坐标再按y坐标升序排序。最左和最右的点一定是凸包的一部分。接着,以这两点为边界的线段将点集分为两部分,分别计算上下两个子集的凸包(上包和下包)。子集的凸包可以通过递归处理,最后组合成整体的凸包。这种方法通常有较好的时间性能,如Graham扫描算法或Jarvis步进法,时间复杂度为O(n log n)。 在实际编程实现中,分治法往往优于穷举搜索法,尤其是在处理大量数据时。此外,计算几何算法中还有许多其他问题,如最近点对查找、多边形碰撞检测等,这些问题都依赖于高效的数据结构和算法设计。 数论算法和计算几何算法是计算机科学的重要组成部分,它们提供了处理复杂几何问题和整数操作的有效工具。理解和掌握这些算法对于提升问题解决能力,特别是在算法竞赛(信奥)中,具有重要意义。
2010-08-14 上传
内容简介: 本书论述了算法数论的基本内容,其中包括:连分数、代数数域、椭圆曲线、素性检验、大整数因子分解算法、椭圆曲线上的离散对数、超椭圆曲线。本书的特点是内容涉及面广,在有限的篇幅内,包含了必要的预备知识和数学证明,尽可能形成一个完整的体系。并且本书的部分内容曾多次在中国科学院研究生院信息安全国家重点实验室和广州大学作为硕士研究生教材使用。本书可作为信息安全、数论等专业的研究生教材及相关专业的研究人员、高等学校的教师和高年级学生的参考。 目录: 序 前言 第一章 整数的因子分解 1.1 唯一分解定理 1.2 辗转相除法(欧氏除法) 1.3 Mersenne素数和Fermat素数 1.4 整系数多项式 1.5 环Z和Z[ω] 习题一 第二章 同余式 2.1 孙子定理 2.2 剩余类环 2.3 Euler函数ρ(m) 2.4 同余方程 2.5 原根 2.6 缩系的构造 习题二 第三章 二次剩余 3.1 定义及Euler判别条件 3.2 Legendre符号 3.3 Jacobi符号 习题三 第四章 特征 4.1 剩余系的表示 4.2 特征 4.3 原特征 4.4 特征和 4.5 Gauss和 习题四 第五章 连分数 5.1 简单连分数 5.2 用连分数表实数 5.3 最佳渐近分数 5.4 Legendre判别条件 习题五 第六章 代数数域 6.1 代数整数 6.2 Dedekind整环 6.3 阶的一些性质 第七章 椭圆曲线 7.1 椭圆曲线的群结构 7.2 除子类群 7.3 同种映射 7.4 Tate模和Weil对 7.5 有限域上的椭圆曲线 习题七 第八章 在密码学中的一些应用 8.1 RSA公钥密码 8.2 Uiffie-Hellman体制 8.3 ElGamal算法 8.4 基于背包问题的公钥密码 8.5 秘密共享 第九章 素性检验 9.1 Fermat小定理及伪素数 9.2 强伪素数及Miller-Rabin检验 9.3 利用n-1的因子分解的素性检验 9.4 利用n+1的因子分解的素性检验 9.5 分圆环素性检验 9.6 基于椭圆曲线的素性检验 第十章 大整数因子分解算法 10.1 连分数因子分解算法 10.2 二次筛法 10.3 Pollard的P-1因子分解算法 10.4 椭圆曲线因子分解算法 10.5 数域筛法 习题十 第十一章 椭圆曲线上的离散对数 11.1 椭圆曲线公钥密码 11.2 小步-大步法 11.3 家袋鼠和野袋鼠 11.4 MOV约化 11.5 FR约化 11.6 SSSA约化 11.7 有限域上离散对数的计算 第十二章 超椭圆曲线 12.1 超椭圆曲线的Jacobian 12.2 虚二次代数函数域 12.3 基于超椭圆曲线的公钥密码 附录 一些常用算法 A.1 不可约多项式的判别 A.2 有限域中平方根的求解 A.3 有限域上的分解 A.4 Hensel引理 A.5 格 A.6 Z[x]中多项式的分解 参考文献 免责申明:此书是我在网络上获取的,希望对大家有用。资源版权归作者及其公司所有,如果你喜欢,请购买正版。~~~