作者dreak (dreak)
看板AndroidDev
标题[问题] 范围搜寻比对
时间Mon Jul 29 18:09:22 2013
我有个ArrayList里存放所有的物件,然後萤幕上有个可以移动的VIEW
我想在使用者移动萤幕时显示出在萤幕范围内的物件(物件有x,y座标),
目前想到比较简单的作法是透过for去比对ArrayList里的每个物件
可是这样即使使用者只移动一点点萤幕,仍然会从搜寻整个ArrayList,
感觉十分没有效率,不知道版上的高手有没有什麽推荐的演算法或好的建议?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 42.71.52.244
1F:推 iForests:你的物件数量有多少呢? 07/30 12:36
2F:→ iForests:如果只有几百个,直接 O(n) 查找全部的物件就够快了 07/30 12:37
3F:推 tac0wu:切n*n 个regions 用n*n个ArrayList来放 07/31 00:57
4F:→ tac0wu:只要搜寻有overlap regions 的Arraylist 07/31 00:59
5F:推 tac0wu:怕物件分布不平均 可以用k-d tree 不好写就是了 07/31 01:04
6F:→ dreak:可能会到上千个物件 07/31 23:38