我在模拟考试中得到了两个问题.我得到了答案,但无法弄清楚背后的理由.
我将首先发布代码,然后发布问题和答案.也许有人会这么好解释我的答案?
package main
import "fmt"
func fact(n int, c chan int, d chan int) {
k := /* code to compute factorial of n */
z := <- d
c <- k + z
d <- z + 1
}
func main() {
r := 0
c := make(chan int)
d := make(chan int)
for i = 0 ; i < N ; i++ {
go fact(i,c,d)
}
d <- 0
for j = 0 ; j < N …Run Code Online (Sandbox Code Playgroud) 我试图了解如果内部循环不是从0开始,而是1,2,3或更多,那么big-o符号是否会改变.
例如,它改变了这个内部for循环从3开始的任何东西,还是大的o仍然是n平方?
for(int i = 0; i < n; i++)
for(int j = 3; j < n; j++)
Run Code Online (Sandbox Code Playgroud)
当我在它的时候,我不妨问一下,如果i或j在每次迭代中增加3,它是否会有所不同.谢谢你的帮助!