多数のポイントが現在の位置からどれだけ離れているかをユーザーに知らせるアプリケーションを作成しています。
各ポイントには経度と緯度があります。
この記事を読みました http://www.movable-type.co.uk/scripts/latlong.html
この投稿を見 た Javaで経度と緯度を知っているときに距離をメートルで計算する
実行する必要がある多くの計算 (50 ~ 200) があります。
これらの計算の精度よりも速度が重要である場合、どれが最適ですか?
多数のポイントが現在の位置からどれだけ離れているかをユーザーに知らせるアプリケーションを作成しています。
各ポイントには経度と緯度があります。
この記事を読みました http://www.movable-type.co.uk/scripts/latlong.html
この投稿を見 た Javaで経度と緯度を知っているときに距離をメートルで計算する
実行する必要がある多くの計算 (50 ~ 200) があります。
これらの計算の精度よりも速度が重要である場合、どれが最適ですか?
これは O(n) です。パフォーマンスについて心配する必要はありません。すべての計算に時間がかかりすぎない限り (そうではありません)。
Imre が言ったように、これは O(n)、つまり線形です。つまり、値がどのように異なっていても、何回実行しても、アルゴリズムの計算は反復ごとに同じ時間がかかります。ただし、余弦の球面法則では実際の変数が少なく、アルゴリズムで実行される計算が少ないという文脈では同意しません。これは、使用されるリソースが少なくなることを意味します。したがって、速度が異なるのは利用可能なコンピューターリソースだけであるため、私はそれを選択します. (注:非常に古い/遅いマシンでない限り、ほとんど目立ちませんが)
意見に基づく評決: 余弦の球面法則
あなたが投稿した 2 つのリンクは、距離を計算するために同じ球面幾何学式を使用しているため、実行速度に大きな違いがあるとは思われません。また、それらは実際には計算コストが高くないため、最新のハードウェアで実行している場合、数百回の反復の規模であっても問題になるとは思いません.