python – 简单的解释持久化的数据结构

我正在开发一个实现一些持久性数据结构(主要作为学习练习)的library for Python.然而,我开始学习,向不熟悉他们的人解释持久的数据结构可能是困难的.有人可以帮助我想到一个简单(或至少是最不复杂)的方法来描述持久化的数据结构吗?

我有几个人告诉我,我有的文件有点令人困惑.

(在任何人询问之前,不,我不是指持久化的数据结构,如持久化到文件系统.如果您不清楚Google持久的数据结构)

最佳答案
尝试这个:

持久数据结构是与数组或列表不同的数据结构,始终保留其原始结构和内容.

它们实际上是不可变的 – 而不是改变这样的结构,任何计算将产生一个新的副本,使原始结构保持不变.而传统的数据结构遵循一个必须的(基于变化的)哲学,持久的数据结构通常用于函数式编程,在极端情况下,根本不允许任何变化.这个范例的优点是持久的数据更安全,通常更容易处理,甚至防止与意外的更改和多线程问题相关的错误.许多问题可以以更简洁的方式在功能上制定.

非持久性数据结构的示例:列表(向量列表)

list = [1, 2, 3]
# List is [1, 2, 3]

list += [4]
# Added an element at the end

list[0] = 42
# We changed the first element to 42
# List is [42, 2, 3, 4]

持久性示例:链接列表(Haskell)

list = [1, 2, 3]
# List is [1, 2, 3]

list2 = 0 : list
# List2 combines [0] and [1, 2, 3] to [0, 1, 2, 3]
# List is still [1, 2, 3]

list3 = updateAt 0 42 list
# List3 contains the elements of list2 with the first one set to 42
# List and List2 still hold their original values

转载注明原文:python – 简单的解释持久化的数据结构 - 代码日志