Boo*_*ean 15 algorithm graphics complexity-theory data-structures
如果任何三个点在一组点中共线,那么找出最佳算法是什么?如果不是微不足道,请解释复杂性.
由于
巴拉
小智 15
如果你能想出一个比O(N ^ 2)更好的算法,你可以发布它!
这个问题是3-SUM Hard,并且是否存在亚二次算法(即优于O(N ^ 2)),这是一个开放的问题.许多常见的计算几何问题(包括你的问题)已被证明是3SUM很难,而且这类问题正在增长.与NP-Hardness一样,3SUM-Hardness的概念已被证明可用于证明某些问题的"韧性".
为了证明您的问题是3SUM难度,请参考这里的优秀创业论文:http://www.cs.mcgill.ca/~jking/papers/3sumhard.pdf
您的问题出现在上面提到的论文中的第3页(通常称为3点在线).
所以,目前最着名的算法是O(N ^ 2),你已经拥有它了:-)
一个简单的O(d*N ^ 2)时间和空间算法,其中d是维数,N是点数(可能不是最优):
归档时间: |
|
查看次数: |
14855 次 |
最近记录: |