我和我有很多x,y点,每个x,y点都有一些与之相关的额外数据.这个额外的数据我将存储在结构中.我的应用程序要求给定任何一个点,我将必须找到有多少其他点位于该点周围的矩形区域内(此点位于矩形的中心).
我想到的一个逻辑是将所有x点存储为地图A中的键,并将所有y点存储为另一个地图中的键B.地图A将x作为键,y值作为值.映射B将y作为键,关联的结构作为值.
这样,如果给定的点是(10.5,20.6),我可以使用upper_bound(10.5 + RECTANGLE_WIDTH)和lower_bound(10.5-RECTANGLE_WIDTH)来查找矩形内的x值范围和相应的y值,查找是否y值位于+ - 范围20.6内.
我使用地图的全部意义是因为我有大量的x,y点存储,并且必须每两秒进行一次搜索.所以我不得不使用log(n)搜索map.我觉得这可以以更有效的方式完成.建议?