auto commit
This commit is contained in:
parent
73d329c8a8
commit
979ab46db8
@ -1558,19 +1558,17 @@ private void resize(int cap) {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
虽然每次重新调整数组都需要重新把每个键值对插入到散列表,但是从摊还分析的角度来看,所需要的代价却是很小的。从下图可以看出,每次数组长度加倍后,累计平均值都会增加 1,这是因为散列表中每个键都需要重新计算散列值。随后平均值会下降。
|
|
||||||
|
|
||||||
## 应用
|
## 应用
|
||||||
|
|
||||||
### 1. 各种符号表实现的比较
|
### 1. 各种符号表实现的比较
|
||||||
|
|
||||||
| 算法 | 插入 | 查找 | 是否有序 |
|
| 算法 | 插入 | 查找 | 是否有序 |
|
||||||
| :---: | :---: | :---: | :---: |
|
| :---: | :---: | :---: | :---: |
|
||||||
| 二分查找实现的有序表 | logN | N | yes |
|
| 二分查找实现的有序表 | N | logN | yes |
|
||||||
| 二叉查找树 | logN | logN | yes |
|
| 二叉查找树 | logN | logN | yes |
|
||||||
| 2-3 查找树 | logN | logN | yes |
|
| 2-3 查找树 | logN | logN | yes |
|
||||||
| 拉链法实现的散列表 | logN | N/M | no |
|
| 拉链法实现的散列表 | N/M | N/M | no |
|
||||||
| 线性探测法试下的删列表 | logN | 1 | no |
|
| 线性探测法试下的散列表 | 1 | 1 | no |
|
||||||
|
|
||||||
应当优先考虑散列表,当需要有序性操作时使用红黑树。
|
应当优先考虑散列表,当需要有序性操作时使用红黑树。
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user