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