我想解决在线编程竞赛中的几何问题。但每当我读到它们时,我都觉得太难了。请推荐一些我可以研究计算几何的书籍和资源。
8 回答
我推荐两本书(除其他外):
- The Algorithm Design Manual By Steven S. Skiena - 一般讨论算法,但有很多关于计算几何的有用信息
- 计算几何:算法和应用
为了快速解决基本几何问题,使其在比赛时限内运行,您需要确保您对编写算法有很强的掌握。
这个页面有一些关于如何变得更好的好建议。它被设置为一个两个学期的阅读课程。
如果您想清除基础知识,这是一个很好的起点 - https://www.hackerearth.com/notes/computational-geometry-i-1/。文章中也有一些练习题。
您还应该阅读这篇文章 - http://www.toptal.com/python/computational-geometry-in-python-from-theory-to-implementation,其中涵盖了一些高级概念。
你必须知道凸包和多边形内的点。人们经常在 TopCoder 上为几何应用程序创建一个可重用的库,因为同样的代码被多次使用。
查看lbackstrom 的教程开始。de Berg、Cheong、van Kreveld、Overmars 的 Computional Geometry [编辑:Bart 已经提到] 可能超出您的需要。
当然还有Computational Geometry - An Introduction,作者是 Preparata 和 Shamos。我拥有它,并推荐它作为原理介绍。不过,它并不是真正的代码字典。
这里有两本很好的书,我在大学里用它们作为教科书:
JD Foley、A van Dam 等人。计算机图形学导论。艾迪生-韦斯利,1994,ISBN 0-201-60921-5。
D赫恩和议员贝克。使用 Open GL 的计算机图形学(第 3 版)。Prentice-Hall,2004,ISBN 0-13-120238-3。