Big o 大O表示法与编码
我正绞尽脑汁从代码中算出大o符号 我了解基本步骤,即:Big o 大O表示法与编码,big-o,time-complexity,Big O,Time Complexity,我正绞尽脑汁从代码中算出大o符号 我了解基本步骤,即: for(inti=0;i
for(inti=0;i
将是O(n)
那
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++)
for(int i=0;i
将O(n2)
我正在努力理解在哪里或如何计算对数值
i、 e
将:
for(inti=0;i
beO(logn)或O(logn)或O(log2n)等
有人能用代码的形式演示一下例子和符号是如何形成的吗
我已经研究并不断得到一些关于排序和列表被切碎的例子,这在某种形式上是有意义的,但我似乎不知道如何将其应用到上面的代码中
我对整个编码和big-o符号都是新手
我熟悉对象、类、循环、函数、结构等。
我忙于学习C++,因为它是我课程的一部分。
我的教科书没有很好地解释对数big-o计算,或者根本没有太多解释。可以将代码表示为递归关系:
T(n)=T(n-1)+2*c,其中c=代码的内部部分
我们将执行2*n
次
为我们提供如下解决方案:
T(n)=2cn+cu1,其中cu1是常数
因为2*c
是一个常数,第二项也是常数,我们可以写:
O(n)
你的问题可能会得到更好的答案。这是O(n)
,因为你要做2n
步。当你开始划分区间时会出现对数,例如二分法搜索;当你使用平衡树(修剪左边或右边的早午餐)时,等等会非常有帮助。至少这是一个好的开始。@user2485710 cstheory用于研究级问题。会更好。您好,请在代码中添加一些格式,以便更容易阅读/理解。查看更多信息。