0

私はこの問題に直面しました、そしてそれを解決するための迅速なアルゴリズムが欲しいです。

2D平面にn個の点がある場合(x値またはy値が他の点と等しいものはありません)、正の傾きを持つ線を形成する点のすべてのペアの数を調べます(たとえば、(0,0)および(1 、1)、45度の正の勾配)

nが大きい(たとえば60000)ので、1秒以内に保つための洗練されたアルゴリズムが必要です。O(n ^ 2)で簡単にできることは知っていますが、それは単純に遅くなり、約30秒かかります。nlognの複雑さでそれを行うための二分探索木を持つことは可能ですか?

これについて私に教えてくれたい人に感謝します。

4

1 に答える 1

0

あなたは数学的にそれを行うことができるはずです..

そこにある2つのポイントのすべてのセット(順列を使用して、私は信じています)は正または負のいずれかであり、それらがランダムなポイントである場合、これは平均50%が正で50%が負であることを意味します..したがって、ペアの量になります/ 2.

于 2012-04-11T03:01:10.550 に答える