Javascript中的字典数据结构

在计算机科学中,关联数组,映射,符号表或词典是由(键,值)对的集合组成的抽象数据类型,因此每个可能的键在该集合中最多出现一次。请注意,字典也称为映射。

字典问题是经典的计算机科学问题:设计一种数据结构的任务,该数据结构在“搜索”,“删除”和“插入”操作期间维护一组数据。字典有许多不同类型的实现。

  •  哈希表的实现

  •  基于树的实施(自平衡和不平衡树)

  •  基于列表的实现

何时使用字典

字典不是万灵药,不应在每次获得机会时使用。它们在许多情况下很有用,但是在决定使用字典来解决问题之前,您需要牢记以下几点。

  • 插入通常很慢,读取速度比树快。

  • 使用它们进行快速查找,例如,缓存数据,索引数据库,符号表等。

  • 当元素的顺序无关紧要时。

  • 当所有元素键都是唯一的时。

我们将实现的方法

字典通常具有定义明确的API。我们将实现一个非常基本的字典API,如下所示-

  • get():使用输入键获取元素

  • put():将键值对放入字典中

  • hasKey():检查键是否存在于字典中

  • delete():从字典中删除给定的键

  • clear():从字典中删除所有键/值对

  • keys():以数组形式返回所有键

  • values(): 以数组形式返回所有值