最坏的情况和代码的总运行时间?

问题描述 投票:0回答:1

我有以下一段代码。

enter image description here

我有以下的问题

enter image description here

由于我对算法和运行时间比较陌生,我不知道在回答这类最坏情况分析的问题时,是否有什么规则需要遵循,还是纯粹凭直觉?

比如C题,我会说答案是B=O(N)。

algorithm data-structures big-o
1个回答
1
投票

Stackoverflow不是一个作业解决平台.为了让你的问题得到像样的答案,你至少需要提供一些你尝试过的方法。

回答你的问题,如果有什么规则。

是的,有(至少是一些经验法则).你基本上需要尝试找到所有与你的输入相关的计算。

典型的例子是,你需要找到所有与你的输入相关的计算。O(n); size=n 是一个单一的for循环。

for (int i = 0; i < size; i++) {
    printf("%d\n", i];
}

Whereas O(n^2) 将代表例如一个有两个嵌套for循环的算法.对于每个 i 你将贯穿 n 这让你 n*n 迭代(其中 size = n):

for (int i = 0; i < size; i++) {
    for (int j = 0; j < size; j++) {
        printf("%d , %d\n", i, j);
    }
 }
© www.soinside.com 2019 - 2024. All rights reserved.