【发布时间】:2021-04-13 08:50:35
【问题描述】:
链表的搜索算法是否可能为 O(log n)?据我了解,链表可能有 O(n) 或 O(1),因为您可以选择从哪里开始,从链表的开头到结尾。知道了这一点,您能否从中间开始寻找运行时间为 O(log n) 的搜索算法?
【问题讨论】:
-
另外,我不确定您如何想象链表中的 O(1) 搜索算法如何工作。
-
@mkrieger1 我还没有尝试过任何东西,所有这些都只是完全概念性/理论性的。如果要搜索的元素在链表的开头或结尾,那不是 O(1) 吗?
-
Big-O 表示最坏情况的摊销复杂性。元素是否位于您要查找的第一个位置无关紧要 - 这不是最坏的情况。
-
@patrickartner 说得通。
-
@PatrickArtner Big-O 也可以表示平均情况,不一定是最坏情况。
标签: python algorithm linked-list