如何解决我的Big-O理由正确吗?特别不确定n ^ n
a)f(n) = n^n + 6n^5 – 11
= O(n ^ n)。
理由:任何大于或等于7的整数都将使n ^ n成为主导。
b)f(n) = 3log_2n + 12n
= O(log n)。
对齐方式:3log_2n + 12n≤15log_2n,n≥2。
c)f(n) = 30 + 2n^4 – 20n^2 + n
= O(n ^ 4)。
对齐:30 + 2n ^ 4 – 20n ^ 2≤12n ^ 4,n≥1。
d)f(n) = 7n^(5/7) +2n
= O(n ^(5/7))
对齐方式:7n ^(5/7)+ 2n≤9n ^(5/7),n≥1。
解决方法
Big-O表示增长,因此您对n^n
的{{1}}证明是正确的。记住要始终专注于最高学历的学期,因为随着a)
的增长,它总是会比其他学历增长更快。
因此,尽管n
和a)
是正确的,但对于c
,我会说它是 O(n),因为线性复杂度的增长速度快于对数。对于b)
,它又是 O(n),因为d)
实际上正在缩小,所以7n^(5/7)
的增长更快。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。