此文待重构
简介
在很多特定的数学领域中,这个术语用来描述具有与该领域相关联的特定性质函数,例如,在拓扑学中的连续函数,线性代数中的线性变换等等。
映射通过下图进行理解:
即存储(键,值)数据对的数据结构 (Key,Value),我们可以根据键 (Key) 来寻找值 (Value) 。
类别
根据其底层实现的不同,分为链表映射、二叉树映射等等。
实现步骤
代码实现
链表实现
1 | public class LinkedListMap<K, V> implements Map<K, V> { |
二叉搜索树实现
1 | public class BinarySearchTreeMap<K extends Comparable<K>, V> implements Map<K, V> { |
时间复杂度分析
操作 | 链表实现映射 | 二叉树实现映射 | 平均 | 最差 |
---|---|---|---|---|
add | O(n) | O(h) | O(log n) | O(n) |
remove | O(n) | O(h) | O(log n) | O(n) |
set | O(n) | O(h) | O(log n) | O(n) |
get | O(n) | O(h) | O(log n) | O(n) |
contains | O(n) | O(h) | O(log n) | O(n) |
文章信息
时间 | 说明 |
---|---|
2018-12-10 | 初稿 |