【发布时间】:2017-10-12 06:57:36
【问题描述】:
假设您有一个像这样的二维图(作为点列表):
现在假设您将绘图分成相等的正方形区域,如下所示:
问题 1:如果您想找到每个块的密度(每个区域的点数),可以使用 C 中哪些计算效率高的技术(RAM 使用和处理方面的效率)时间)?
(而不是逐个比较每个点,看是否在每个方格的区间内)
问题2:如果增加了一个新的点,有什么有效的方法可以找到该点所在的块,并计算块的新密度。
(**注意:我不是要求最有效的方法,因为那是基于意见的)
【问题讨论】:
-
假设您明确了“最有效的方法”的含义,为什么要基于意见?
-
你说的是分析图像还是分析底层点列表?
-
将其分析为点列表
-
您将需要查看每个点以查看其所在位置,因此不可能比查看每个点以查看其所在位置更好。最好的想法可能只是创建一个二维区域数组并计算每个区域的点数。这也允许在添加(和删除)点时轻松更新密度。
-
然后我想我会设置一个二维数组,其元素对应于网格正方形,遍历点列表,并通过将每个点除以
x和y坐标将每个点分配给一个正方形通过网格间距。
标签: c algorithm performance search plot