<分区>
我有一个问题要解决,在网上搜索后我没有找到任何可用的算法,而且我自己也没有能够想出一个令人满意的解决方案。
问题定义:
我得到了一组 N 多点,由它们的 X 和 Y 坐标定义,我应该为每个点提供一个介于 0 和 N 之间的唯一索引。不过有几个条件:
1)如果两点之间的几何距离很小,那么它们的指数之差也应该很小。
2) 如果点 A 具有比点 B 更高的 X 坐标,则它也应该具有更高的索引值。
3) 如果点 A 的 Y 坐标比点 B 高,它也应该有一个更高的索引值。
其他:
由于数据相当小(50 ~ 100 点),因此算法不需要特别快或特别高效。
我需要这个算法来创建一个只有 2 个按钮来浏览数据集的用户界面。使用一个按钮,用户选择下一个点,使用另一个按钮,用户选择上一个点。
欢迎所有建议。提前致谢。
示例图片:
这是一个可能的结果示例。请注意如何不满足所有点的条件(因为那是不可能的),但索引如何仍然很好地分布在集群中。