读书人

请问排序与检索算法有关问题

发布时间: 2012-02-28 13:06:34 作者: rapoo

请教排序与检索算法问题
在2维空间存在大量稀疏点,每个点的坐标为(x,y).
例如:(1,23),(2,35),(1,325),(13,134)……(35246,3141)

现在需要对感兴趣区域进行处理,首先需要得到感兴趣区域点集合
由于全部点数量有可能特别大,因此需要构造一种快速提取的算法,
请教csdn上各位大侠有没有好的方法:-)

--------------
我现在只能先对x进行排序,然后再做第二次对y进行筛选。

[解决办法]
建议尝试一个 基于链表的矩阵 这种数据结构
[解决办法]
带有行信息的稀疏矩阵 ,可以遍历一遍的同时对x,y进行判断找出符合的点,不符合的就从矩阵中去除,剩下的就是关注的区域。
[解决办法]
就直接遍历所有点啊~
然后判断这个点的x,y是否在想要的区域里面啦。
时间复杂度O(n)啦~

[解决办法]
多层遍历会不会快点??
[解决办法]
这个用稀疏矩阵有比对坐标排序后做快吗??
[解决办法]
如果你的感兴趣区域是一个区域,建议采用空间索引的思想。
建立一个四叉树,树的每个节点上放合适数量的位置(包括x和y)相邻的点。
这样处理的结果是搜索时间只与树的高度以及结点的大小有关,
而与的点的总数无关。


读书人网 >软件架构设计

热点推荐