我有一个对象数组,每个对象都有一个属性'time'。该数组已按时间排序。我现在想要找到条目idx,例如:
CREATE TABLE myparenttable( LIKE mychildtable1 );
-- Repeat this for each of the child tables
ALTER TABLE mychildtable1 INHERIT myparenttable;
虽然我可以循环访问条目并在找到相应条目后立即返回,但我担心这在我的用例中会非常繁重。用例是通过视频进行清理,因此列表可能会在该操作期间频繁循环。
我目前的想法是创建一个时间越来越精确的树,这样我只需要查询适当的范围,就可以减少遍历列表的循环。
我可能会过度思考这个问题,但任何见解都会受到赞赏。
答案 0 :(得分:1)
正如我在评论中所说,如果数组已排序,您可以使用binary search来降低CPU成本。
二进制搜索算法的第二个优点是,如果数组中没有包含该值,您还知道将所处的索引,进行插入(并保持其排序的性质)数组)很容易。