我试图理解二进制搜索的时间复杂性的Big O表示法。我知道它是O(log n)。那么这基本上是说对于16个元素的列表,它最多会占用log2(16)= 4次?如果这是真的,那么对于12的列表,log = 3.6?
是如何工作的由于
答案 0 :(得分:1)
大写符号的用处是 不 ,它可以精确地判断处理特定大小的输入需要多少操作。它不能。
Big-oh表示法告诉我们处理 所需的操作数量与 的关系如何与输入大小不同。
因此,用实际数字代替并没有多大意义。
如果它真的可以帮助你理解它的实际数字,那么你可以将它们视为平均值,因此对于12个元素的列表,你可以将二进制搜索视为平均需要3.6个操作。 / p>
然而,请注意,这是一个相当狭隘的观点,关于什么是大哦符号。 big-oh表示法的真正用处在于告诉我们二分搜索比线性搜索更好,而不是能够准确地告诉我们某个特定例子需要多少操作。