1
Q
与大O混乱
A
回答
7
我认为这取决于你的分母。求和
N + N/2 + N/4 + N/8 + ... + N/N
总和出为O(n),因为它等于
N(1 + 1/2 1/4 + 1/8 + + ...)
≤ 2n个
因此,O(n + log n)在技术上是正确的,因为O(n + log n)= O(n),但这是写它的一种非常奇怪的方式。 O(n)是写出来的好方法。
求和
N + N/2 + N/4 + N/6 + N/8 + ... + N/N
工程以
n(1 + 1/2 + 1/4 + 1/6 + 1/8 + ... + 1/n)
= n(1+(1/2)*(1 + 2 + 1/4 + 1/6 + ... + 1 /(n/2)))
= N(1 +(1/2)H _ {(N/2)})
= Θ(N log n)的
此工作,因为nth harmonic number Θ是(log n)的。这可能与预期的更接近,但用+ ×代替。
希望这会有所帮助!
相关问题
- 1. 大O符号混乱(C++)
- 2. 与大O有点混淆
- 3. 混乱与FILEIO
- 4. 范围混乱。无法解释o/p
- 5. 与决定大O符号混淆?
- 6. AutoMapper与Ninject混乱
- 7. 混乱与Android的
- 8. 混乱与子类
- 9. 混乱与AVAudioRecorder米
- 10. HDFS块大小混乱
- 11. SVN转储大小混乱
- 12. 混乱htons-小端/大端
- 13. 多项式较大 - 混乱
- 14. 大O和T(N)混淆
- 15. 大O计算混淆
- 16. 混乱与异步功能
- 17. 与DropDownListFor <>的混乱
- 18. 混乱与评级和TRANSATION
- 19. 混乱与三元表达
- 20. 混乱与宏扩展
- 21. 混乱与工会和struct
- 22. 混乱与Ruby的`GC#start`
- 23. 混乱
- 24. 混乱
- 25. 混乱
- 26. 混乱
- 27. 大查询表创建混乱
- 28. SqlCommand的参数大小混乱
- 29. Admob广告单元ID大混乱
- 30. 大屏幕上混乱的CSS位置
如果你说n/2 + n/4 + n/6 + ... + n/n,会有一些困惑..因为如果n是(1,3,5,7等等)将永远不会有n/n :) – mlwn 2014-10-22 00:49:18
分母的模式是什么?这是2,4,8,16,...还是2,4,6,8,10,或其他? – Charles 2014-10-22 00:56:47