【发布时间】:2012-01-30 00:38:26
【问题描述】:
我知道普通的可变映射是如何工作的(使用哈希表),并且我知道不可变列表是如何工作的(递归链表)以及它们相对于可变列表的优势(恒定时间追加而不会弄乱原始映射)但是不可变映射(例如斯卡拉的)工作?
我知道在生成新地图时不弄乱原始地图的好处,但是底层数据结构是如何工作的,它们具有什么样的性能特征,例如与可变哈希表相比?有没有人们用来实现这些的标准数据结构,我可以在 CLRS/wikipedia 中查找?
【问题讨论】:
-
CLRS 以及几乎所有其他数据结构/算法教科书都严重偏向于可变性和杂质。 Chris Okasaki字面意思写了一本关于函数式数据结构的书,它是基于他早期的论文工作并对其进行了扩展。您应该看的其他作品是 Phil Bagwell 和 Rich Hickey。
标签: scala functional-programming immutability