相关疑难解决方法(0)

O(log N)== O(1) - 为什么不呢?

每当我考虑算法/数据结构时,我倾向于用常数替换log(N)部分.哦,我知道log(N)有所不同 - 但它在现实世界的应用程序中是否重要?

所有实际用途的log(无穷大)<100.

我真的很好奇现实世界的例子,这是不成立的.

澄清:

  • 我理解O(f(N))
  • 我对现实世界的例子感到好奇,其中渐近行为比实际表现的常数更重要.
  • 如果log(N)可以用常量替换,它仍然可以用O(N log N)中的常量替换.

这个问题是为了(a)娱乐和(b)收集使用的论据,如果我(再次)进行关于设计性能的争议.

algorithm performance big-o computer-science

47
推荐指数
8
解决办法
1万
查看次数

.Net 4.0中的垃圾收集

.Net 4.0垃圾收集器执行有什么变化吗?

.net garbage-collection .net-4.0

19
推荐指数
1
解决办法
6647
查看次数

函数式编程:不可变的数据结构效率

我不明白,FP编译器如何使代码快速处理不可变数据结构,而不是炸毁堆栈等.

例如,在树中插入操作,它必须在添加新节点之前复制整个树并返回复制的树,而不是仅需要添加指向新节点的命令式couterpart.如果插入操作运行数百万次,则需要占用大量内存,并且当树更大时,复制将越来越慢.FP编译器如何实际优化这个?

functional-programming

18
推荐指数
2
解决办法
2104
查看次数