每当我考虑算法/数据结构时,我倾向于用常数替换log(N)部分.哦,我知道log(N)有所不同 - 但它在现实世界的应用程序中是否重要?
所有实际用途的log(无穷大)<100.
我真的很好奇现实世界的例子,这是不成立的.
澄清:
这个问题是为了(a)娱乐和(b)收集使用的论据,如果我(再次)进行关于设计性能的争议.
我不明白,FP编译器如何使代码快速处理不可变数据结构,而不是炸毁堆栈等.
例如,在树中插入操作,它必须在添加新节点之前复制整个树并返回复制的树,而不是仅需要添加指向新节点的命令式couterpart.如果插入操作运行数百万次,则需要占用大量内存,并且当树更大时,复制将越来越慢.FP编译器如何实际优化这个?