data-structures - 什么时候以及为什么要在 CL 中使用哈希表而不是 a-lists?

标签 data-structures common-lisp hashtable sbcl

我相信 common lisp 是我使用过的唯一一种具有各种非常有用的数据结构的语言。

一线名单对我来说是最重要的。我一直在用它。

您(或您应该)何时以及为何使用哈希表?

我不愿意使用它们的原因是,与其他数据结构不同,CL 中的哈希表不是可见列表。老实说,考虑到几乎所有内容都是列表,我觉得很奇怪。

也许我缺少经验?

最佳答案

当您必须通过键访问大量值时,哈希表非常有用,因为使用哈希表进行此操作的复杂度为 O(1),而使用 a-list 的操作是 O(n),其中 n 是列表的长度。

因此,当我需要多次访问一组元素多于少数的值时,我会使用它。

关于data-structures - 什么时候以及为什么要在 CL 中使用哈希表而不是 a-lists?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74653707/

相关文章:

java - 如何更新Java HashTable?

c - 如何评估 c 中的结构并通过指针变量给出输入?

java - LinkedList 类型的 getCount 方法未定义

c++ - 我不知道如何存储表示为字符串的大量大数字

macros - 可以使用 destructuring-bind 定义 destructuring-setq 吗?

c++ - std::hash 对于不同编译版本和不同机器的相同输入是否给出相同的结果?

algorithm - 矩阵中给定区域的中值

lisp - Common Lisp 函数打开列表以显示列表中元素的顺序?

functional-programming - LISP 全局列表变量

java - 更快的哈希函数