【发布时间】:2010-09-08 22:26:18
【问题描述】:
我正在寻找在 Erlang 中进行二进制搜索的可能解决方法,我找到了 http://ruslanspivak.com/2007/08/15/my-erlang-binary-search/ 但我想知道博客中的解决方案是否在 O(lg n) 中运行。现在因为二分搜索的重复是:T(n) = T(n/2) + c 这给了我 O(lg n) 的执行时间。
由于在 C 数组中,您可以在 O(1) 时间内访问任何元素。但是在 erlang 中,如果访问列表的中间需要 cn 时间,那么二进制搜索的线性总体时间与线性搜索一样差。
我遇到了 lists:nth/2 BIF 用于查找列表中的第 n 个项目,但我不确定它的执行时间。
有没有cmets?
【问题讨论】:
标签: erlang