SETUP:
我有一个文件,其中包含一个点列表,每个点都有一个特定的(X,Y)位置。看起来有点像
的东西3.8474 4.4847
8.3746 2.4829
...
2.4583 6.2848
在读取文件之前,这些点都包含在某个未知大小的矩形中。包含这些点的矩形的边界由查找列表中所有点的最小和最大X值以及最小和最大Y值来定义。
问题:
我想在这个边界矩形内选择一个随机点,它距离边界矩形的边缘至少有一段距离A
。然后我想找到矩形中距离此随机点距离A
的所有点。
尝试解决方案:
我的问题是,为了选择距离边缘一定距离的随机点,我需要首先知道边缘。这需要读取每个点并找到最小和最大X和Y值。然后我必须再次读取每个点,以找出哪些点距离我随机选择的位置不到A
。两次阅读列表似乎效率极低,特别是如果列表包含一百万或更多点。但我想不出更有效的方法。我需要至少读入一次数据,然后我可以将它存储在一个数组中以进行第二轮读取,但是为一百万个元素数组预留内存空间似乎也过多了。有什么建议吗?