我几天前就开始研究数据结构和算法,并且仍然试图掌握这些概念。我正在学习Big-O符号。我理解O(1) - 恒定时间复杂性是什么并且有问题。
void Method1(int n) {
int a = 10;
int b = 20;
int x = a + n;
int y = b * n;
Console.Writeline("{0}{1}", x, y);
}
对于非常大的n值,上述代码的复杂度为O(1)。我们使用N的值而不是处理N.下面的方法仍然具有相同的复杂性,其中n和m是非常大的数字作为输入。
void Method1(int n, int m) {
int a = 10;
int b = 20;
int x = a + n;
int y = b * m;
Console.Writeline("{0}{1}", x, y);
}
答案 0 :(得分:0)
对于输入,这将具有相同的复杂性,因为您正在执行相同的操作。如果您只是使用相同的值两次调用第二个方法,则它与第一个方法相同。
但请注意,对于非常大输入,某些实现 <1> 那是因为“大整数”是一种随输入幅度扩展的数据类型;那些算术运算是 O (log N)。