我刚开始了一个关于渐近分析的课程,在我的任务之一中,我应该在不改变复杂性的情况下为功能添加功能。复杂度是log(N)。作业指南特意要求我用“常量”来改变运行时间。会让它变成3Log(N)常数?是O(LogN)== O(3LogN)?
回答
是的,更具体地说,这将改变乘法常数。你也可以用一个像log(N)+5
这样的加法常数来改变它。
是的,这个东西正在改变算法的多倍,像'3'这样的事情是非常不可能的,除非你做了像3次嵌套循环那样的事情,这再次可能不是最佳的解决方案。 – noMAD 2012-04-27 05:10:37
原始功能涉及向二叉搜索树添加元素。为了完成我的任务,我不得不修改代码,以便遍历树不是一次,而是两次。那是2LogN? – devjeetroy 2012-04-27 05:18:40
@noMAD需要在数据结构上传递一个常数,或者在迭代中添加一个固定数量的操作并不罕见。 – trutheality 2012-04-27 05:20:53
- 1. 时间复杂度:O(logN)或O(N)?
- 2. BIg O符号:n * logn
- 3. 为什么TreeSet迭代O(n)而不是O(n * logn)?
- 4. 哪一个更好? O(n^1/2)或O(logn)
- 5. 分钟堆比O(logn)增加键好?
- 6. O(logn)时间和算法关系
- 7. 为什么deleteMin的堆取O(logn)?
- 8. O(logn)^ 2时间表现的示例
- 9. 查找RBTREE在O(LOGN)的算法
- 10. 查找第n个fib数,在O(logn)
- 11. 查找O(nlogn)和O(logn)附加空间中的最小正数
- 12. O(n^2)中是O(mn)吗?
- 13. 是string.ElementAt()O(1)?
- 14. 给出一种预处理方法,允许您在O(logn)
- 15. 3Sum算法版本O(N^2 logn)时间
- 16. 在Elixir中进行二元搜索O(logN)?
- 17. 添加,删除的O型插接件(LOGN)
- 18. 在O(logn)时间使用STL堆执行减少键
- 19. 在O(logn)运行时间中通过数组?
- 20. 如何grep -o没有-o
- 21. 找到最大的O-O
- 22. Redis:它是否仍然O(logN)从排序集中获得最高分?
- 23. 对于数组,PHP的count()函数是O(1)还是O(n)?
- 24. 大O符号 - O(n日志(N))对O(的log(n^2))
- 25. 证明最大(O(f(n)),O(g(n)))= O(max(f(n),g(n))
- 26. 大O
- 27. Enity没有映射[选择O型O]
- 28. O(m + n)或O(mlgn)更好
- 29. I/O和控制台I/O差异
- 30. crt0.o和crt1.o - 有什么区别?
您忘记了'O(log N)'的确切定义吗?回到定义来理解答案是微不足道的*是* – 2012-04-27 05:07:47
你能说明你是如何得到'3log(n)'的? – noMAD 2012-04-27 05:08:01
我相信增加一些东西,如(常数+ log(N))将被视为增加一个常数因子,而3LogN将会相乘。虽然我根据定义知道O(3LogN)= o(LogN),但我觉得我的导师意味着添加形式。事情是,我不想在我的任务中抓住任何机会,所以我想与更有知识的人一起澄清。 – devjeetroy 2012-04-27 05:16:49