我建立一个MySQL表列出在n维点,每个尺寸被索引。鉴于该n维系统中的任何一点,我想是能够输出所有其他各点的在从所选择的点的距离的顺序。

一个简单的解决方案是计算使用勾股定理... SQRT(X ^ 2 + Y ^ 2)= z的各点的距离。我一直在寻找更有效的方法。仅需要一个大致顺序,所以我很开朗。

感谢。

-diddle

有帮助吗?

解决方案

随着一直给什么,你也可以考虑“分档”你的观点 - 即(至少精神上)绘制一个网格在你的“地图”,并跟踪此基础上方形他们落入点。基本上,你在同一个广场与点开始,那么那些在“环”周围的选择点的广场,那么接下来的环向外,等等。根据您使用网格的大小,可以让这个大约为精确的或近似的,只要你喜欢。当然,二维网格是2D点 - 如果有更多的维度,你就必须加大电网相匹配的维度

其他提示

对于这样的事情的一种常用方法是考虑的平方距离而非实际距离,消除了平方根,但是,如果我理解正确的问题,你不需要从获取的实际距离你指数。在这种情况下你可以只使用各成分的绝对值的总和。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top