【发布时间】:2010-10-28 12:59:24
【问题描述】:
有人可以解释一下 Python、Ruby 等流行语言如何在内部实现哈希表以进行符号查找吗?他们是使用经典的“带有链表的数组”方法,还是使用平衡树?
我需要一种简单(更少 LOC)且快速的方法来索引用 C 编写的 DSL 中的符号。想知道其他人发现什么最有效和实用。
【问题讨论】:
-
也许你想问“地图是如何实现的......”因为哈希表并不是实现地图的唯一方法!
-
好评。但问题是我已经根据计算的符号哈希构建了基础工作。顺便说一句,我认为每个人都使用的除了哈希之外还有哪些地图实现方式?
-
地图有时也是由二叉树构建的。它通常在 key 类型不可散列时使用,或者您希望保留 map 中数据的某种顺序(以便您可以从 A 迭代到 Z)。