【发布时间】:2021-02-10 17:30:04
【问题描述】:
考虑在这两个循环中找到作为 n 函数的总运行时间:
(1)
q <- 1
while q <= n
p <- 1
while p <= q
p <- p + 1
q <- 2 * q
(2)
q,s <- 1, 1
while s < n
for j <- 1 to s
k <- 1
while k < = j
k <- 2 * k
q <- q + 1
s <- q * q
脱离我所知道的我所相信的: (1) 是 theta(n * lg(n)) 其中 n 表示内部循环的时间,并且 lg(n) 用于外循环。 (2) 是 theta(n * lg(n) * sqrt(n)) 其中 n 表示 for 循环的时间, sqrt(n) 用于外部循环,lg(n) 用于内部 while 循环。
我不确定这是否正确。任何建议将不胜感激。
【问题讨论】: