【发布时间】:2015-01-15 04:49:29
【问题描述】:
http://katemats.com/interview-questions/ 说:
给定一个排序数组,您想找到数字 N。如何尽快进行搜索(而不仅仅是遍历每个元素)?
- 如果数组中有很多重复项,您的算法性能会如何变化?
我对第一个问题的回答是二分查找,也就是 O(log(n)),其中 n 是数组中的元素个数。
根据this answer,在“元素 K 不存在于 A 中且小于 A 中的所有元素”的最坏情况下,“我们有最多 log_2(n-1) 步”。
我认为第二个问题的答案是它不会影响性能。这是正确的吗?
【问题讨论】:
标签: algorithm language-agnostic binary-search