我正在構建一個mySql表列出n維的點,每個維度都被索引。給定n維繫統中的任意點,我希望能夠按照距離所選點的距離輸出所有其他點。確定n維中的點之間的距離
一個簡單的解決方案是使用畢達哥拉斯定理計算每個點的距離... sqrt(x^2 + y^2)= z。我一直在尋求更有效的方法。只需要大概的訂單,所以我非常開放。
謝謝。
-diddle
我正在構建一個mySql表列出n維的點,每個維度都被索引。給定n維繫統中的任意點,我希望能夠按照距離所選點的距離輸出所有其他點。確定n維中的點之間的距離
一個簡單的解決方案是使用畢達哥拉斯定理計算每個點的距離... sqrt(x^2 + y^2)= z。我一直在尋求更有效的方法。只需要大概的訂單,所以我非常開放。
謝謝。
-diddle
除了給出的內容之外,您還可以考慮「分檔」您的分數 - 即(至少在心理上)在您的「地圖」上繪製網格,並基於它們落入的平方來跟蹤分數。基本上,你從同一個方塊中的點開始,然後是圍繞選定點的方形的「環」中的點,然後是下一個環向外,依此類推。根據您使用的網格大小,您可以根據您的喜好製作精確或近似的圖像。當然,2D網格用於2D點 - 如果有更多維度,則必須增加網格的維度以匹配。
看來我應該注意到我正在尋找一種完全避免勾股法的方法。我認爲它會涉及我沒有遇到的索引列和某種形式的高級連接或db理論。 – dittle