我简要回顾了关于计算几何中的线交叉和线排列问题的文献。其中大多数都是基于平面扫描算法。从计算复杂度的角度来看,它看到渐近算法边界是线段数和函数“k”的函数,其中“k”是边缘之间的交点数。例如,最着名的算法之一具有输出敏感的O(nlogn +“k”)的时间复杂度。我的问题是很难理解为什么在提供时间复杂性的同时我们无法摆脱术语“k”。因为如果我们查看其他算法来解决例如排序问题,那么复杂性并不是完成了多少交换或比较的函数。它只是输入数量的函数。任何见解都会有所帮助。
答案 0 :(得分:1)
如果您想严格按照输入中的线段数表达最坏情况的复杂性,那么您必须假设K的交叉点的最大可能数量(即N 2 < / SUP>)。因此,具有O(N log N + K)时间复杂度的算法(例如Balaban's)也可称为O(N 2 + N log N)或O(N *(N + log N) )如果你愿意的话。