在单双链表中插入和搜索的平均和最差运行时间为O(1)和O(n)。在最佳情况下,运行时复杂性是否相同?
换句话说,在最佳情况下,一个单双链表的插入时间是否为O(1),搜索时间为O(n)?
答案 0 :(得分:1)
这样想吧:
在最佳情况下,当您进行搜索时,您要看的第一个元素就是所需的元素,因此就完成了(实际上,很多搜索算法就是这种情况)。这与链接列表的长度无关,即,无论链接列表有多长,它花费的时间都是相同的,因此它是O(1)
。
在最佳情况下,在特定元素之后的插入是相同的:您在特定元素之后插入,这又与列表的长度无关,因此为O(1)
。
我应该注意,最好的情况下运行时的复杂性不是很有趣,因为在最好的情况下,通常情况下一切都会很快。人们通常只谈论平均用例运行时,因为接近平均用例会经常发生,而最糟糕的是,因为您想知道算法有时是否真的做得很差。