【发布时间】:2012-03-04 07:00:44
【问题描述】:
今天有人问到惰性二分搜索。不知道那是什么,我寻找它,发现了这篇文章:What is Lazy Binary Search? 本质上,惰性二分搜索是一种二分搜索,您首先比较不等式,然后只比较一次是否相等 - 最后。
有什么意义?在什么情况下检查A<B 是否容易,但检查A=B 是否那么困难你想尽可能避免它?
【问题讨论】:
-
每次迭代少一个比较。
-
以更多迭代为代价。
-
确实如此。但有时您只关心最坏情况下的性能(考虑硬实时应用程序或流水线硬件实现)。
-
为什么迭代次数会更多?
-
迭代次数几乎是恒定的——序列大小的log2(向上或向下取整,可能取决于机会)
标签: algorithm binary-search lazy-evaluation