试图理解二分查找的时间复杂度
Trying to understand the time complexity of a binary search
我正在尝试理解二进制搜索时间复杂度的 Big O 表示法。我知道它是 O(log n)。那么这基本上是说对于 16 个元素的列表,它最多需要 log2(16) = 4 次尝试?如果这是真的,那么对于 log = 3.6 的 12 个列表如何工作?
谢谢
大 O 表示法的用处在于 而不是 它可以准确地告诉处理输入的输入需要多少操作一定的尺寸。不能。
Big-oh 表示法告诉我们执行处理 所需的操作数如何随输入大小 的变化而变化。
所以,用实际数字代替没有多大意义。
如果它真的能帮助你用实际数字来理解它,那么你可以将它们视为平均值,因此对于一个包含 12 个元素的列表,你可以将二分查找视为平均需要 3.6 次操作.
但是,请注意,这是对大 O 表示法的一个相当狭隘的理解。大O符号的真正用处在于告诉我们二分搜索比线性搜索好,而不是能够准确地告诉我们某个特定示例需要多少操作。
我正在尝试理解二进制搜索时间复杂度的 Big O 表示法。我知道它是 O(log n)。那么这基本上是说对于 16 个元素的列表,它最多需要 log2(16) = 4 次尝试?如果这是真的,那么对于 log = 3.6 的 12 个列表如何工作?
谢谢
大 O 表示法的用处在于 而不是 它可以准确地告诉处理输入的输入需要多少操作一定的尺寸。不能。
Big-oh 表示法告诉我们执行处理 所需的操作数如何随输入大小 的变化而变化。
所以,用实际数字代替没有多大意义。
如果它真的能帮助你用实际数字来理解它,那么你可以将它们视为平均值,因此对于一个包含 12 个元素的列表,你可以将二分查找视为平均需要 3.6 次操作.
但是,请注意,这是对大 O 表示法的一个相当狭隘的理解。大O符号的真正用处在于告诉我们二分搜索比线性搜索好,而不是能够准确地告诉我们某个特定示例需要多少操作。