一般的な位置にn個の線分があるとします。n個のセグメントごとに、交差する他のn-1個の数をすばやく数えるにはどうすればよいですか?
私はこれをO(n 2)時間で素朴に行うことができます。O((n + k)log n)時間でかなり単純なスイープラインアルゴリズム(Bentley-Ottmann)を使用してすべての交差点を見つけることができます。ここで、kはそのような交差点の数であり、見つけた交差点をカウントします。
ただし、交差点を見つける必要はありません。いくつあるか知りたいだけです。交差点ごとにツリー内の2つのものを並べ替える必要があるため、スイープラインアルゴリズムをより高速に変更する方法がわかりません。また、同じ問題が発生しない他の手法は考えられません。
交差点の総数を数える方法にも興味があります。