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

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (11)

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

例如,在树中插入操作,它必须在添加新节点之前复制整个树,然后返回复制的树,而不是只需要添加指向新节点的指针的命令式耦合部分。如果INSERT操作运行了数百万次,它将占用大量内存,当树更大时,复制将越来越慢。FP编译器实际上是如何优化这一点的?

提问于
用户回答回答于

不必复制整棵树来进行更改;可以共享大部分结构。

用户回答回答于

编译器不会真正优化这一点,在编写代码时,必须对其进行具体的编程。这样做的技术将在优秀的纯功能数据结构中得到解释

扫码关注云+社区