我正在攻读考试并查看增长顺序示例,我想到了一个有趣的问题。
假设我有以下列表代表with tf.Session() as sess:
x = tf.constant([0.3,0.7,1.2,1.7])
y = tf.constant([0.2,0.5,1.0,2.9])
z = tf_mod(x,y)
gr = tf.gradients(z, [x,y])
tf.initialize_all_variables().run()
print(x.eval(), y.eval(),z.eval(), gr[0].eval(), gr[1].eval())
运行时间。
3!,3,3n,n,log4n,n2,n3,n4,√n
big-O
,³√nsquare root
现在如果我订购这些至少最好的,我会做以下事情:
3因为恒定 log4n因为对数略大 √n猜这里???
³√n猜这里???
之后是n线性的 3n线性+常数>线性
n ^ 2二次方 n ^ 3立方
n ^ 4 4次幂
3!阶乘总是最大的
我的根位置是否正确?如果不是他们会去哪里,为什么?这不是书中的作业问题。这是我想出来的,以澄清增长顺序中根的位置。
我通过电子邮件向我的导师发了同样的问题,我正在等待回复。做一些研究并没有让我得到一个具体的答案,即根据增长顺序,准分子简单的根词在哪里会下降。
任何人都可以帮助我吗?
答案 0 :(得分:3)
sqrt(n)
介于log4n
和n
之间,你是对的。
注意平方根为n^(1/2)
,立方根为n^(1/3)
,因此立方根低于平方根。
此外,3!
实际上是一个常数,因为它不依赖于n
。
答案 1 :(得分:1)
根只是倒置的指数,
sqrt(n)= n ^(1/2) cube_root(n)= n ^(1/3)
技术上(n)和(3n)的大O是相同的,因为常数不会影响大O