JavaScript中的字典数据结构
在计算机科学中,关联数组、映射、符号表或字典是一种抽象数据类型,它由一组 (键,值) 对组成,使得每个可能的键在集合中最多出现一次。请注意,字典也称为映射。
字典问题是一个经典的计算机科学问题:设计一种数据结构的任务,该数据结构在“搜索”、“删除”和“插入”操作期间维护一组数据。字典有很多不同类型的实现。
- 哈希表实现
- 基于树的实现(自平衡树和非平衡树)
- 基于列表的实现
何时使用字典
字典并非万能药,不能在任何情况下都使用。它们在许多情况下很有用,但在决定使用字典来解决问题之前,需要记住以下几点。
- 插入通常很慢,读取比树快。
- 将这些用于快速查找,例如缓存数据、索引数据库、符号表等。
- 当元素的顺序无关紧要时。
- 当所有元素键都是唯一的时候。
我们将实现的方法
字典通常具有定义良好的 API。我们将实现一个非常基本的字典 API,如下所示:
- get(): 获取具有输入键的元素
- put(): 将键值对放入字典中
- hasKey(): 检查字典中是否存在键
- delete(): 从字典中删除给定的键
- clear(): 从字典中删除所有键值对
- keys(): 将所有键作为数组返回
- values(): 将所有值作为数组返回
广告