搜索未知大小数组中的元素

时间:2015-03-26 15:50:09

标签: arrays pseudocode binary-search

在无限数组的开头给出 N 排序元素,找出 O(logN)中数组中是否存在给定的 k 元素 time,如果元素不存在,则返回正确的消息。

到目前为止我想出的是二进制搜索的修改,因为我们不知道数组的长度(我们知道它的无限但我们不知道N)我用这个:

if k > A[i] then let i = i*2
If k == A[i], then we re done, otherwise we do binary search as usual on A[1..i].

唯一的问题是,使用这个伪代码时,恐怕需要花费时间才能使搜索高于O(logN),因为我们有可能运行多个二进制搜索,因此它会成为O的东西。 (klogN)。

任何想法??

0 个答案:

没有答案
相关问题