【发布时间】:2014-10-03 12:06:45
【问题描述】:
我参加了一个项目,但我很难继续下去。没有 cmets、未记录的代码、不一致的命名变量等。
但是,在某些时候我过期了搜索的缓慢执行。老实说,我从未在我开发的移动应用程序上过早过期,因为没有太多数据需要处理。
好的,有一个 A 类,其中包含以下字段:
- ID 整数
- 信息 1 字符串
- 信息 2 字符串
- ...字符串
在会话期间,类 A 的集合正在填充新实例。在某些时候,用户要求选择实例 ID 的实例信息(集合不按 ID 以任何顺序排序)。平均而言,大约有 2500 个实例 在一些较旧的设备上需要很长时间才能找到它。 什么是尽可能快地做到这一点的最佳做法? (附时间复杂度说明)
把他的代码留给我的精灵把它全部放在一个集合中并通过线性搜索进行搜索。
- 堆排序,所以可以通过二分查找多次查找?
- 按排序顺序添加,然后使用二分查找?
- 将数据放入 SQLite 临时表(了解更多数据)并按查询搜索
- HashSet 或 TreeSet
- 别的东西..
【问题讨论】:
标签: java android performance sorting search