对不起,我在之前的问题中犯了一个错误。因此,我没有得到我想要的答案。
老师告诉我们,每次除以 2 时,运行时间很可能是 log n。例如,如果我们将一个数组一分为二,每次遍历其中一个数组时,运行时间将是 log n。但是,我们可能会遇到 LinkedList 很容易被误导的情况。例如,我们可能有一个算法,通过从头部或尾部开始将列表的第 n 个元素设置为其他元素,以使运行时间小于 n。从逻辑上讲,我们可能认为运行时间是 log n,但事实并非如此。这是为什么?你如何确定?
我们是否需要绝对拆分才能获得 log n 的运行时间?当循环的最大运行时间为 n/2 时,我认为说 n 的运行时间没有任何逻辑意义。