diff --git a/notes/算法.md b/notes/算法.md index ad4679ca..dd43e63b 100644 --- a/notes/算法.md +++ b/notes/算法.md @@ -1057,7 +1057,7 @@ private Node put(Node x, Key key, Value val) { } ``` -可以看到该插入操作和 BST 的插入操作类似,只是在最后加入了旋转和颜色变换操作即可。 +可以看到该插入操作和二叉查找树的插入操作类似,只是在最后加入了旋转和颜色变换操作即可。 根节点一定为黑色,因为根节点没有上层节点,也就没有上层节点的左链接指向根节点。flipColors() 有可能会使得根节点的颜色变为红色,每当根节点由红色变成黑色时树的黑链接高度加 1. @@ -1095,7 +1095,7 @@ private Node put(Node x, Key key, Value val) { 散列函数应该满足以下三个条件: -1. 一致性:相等的键应当有相等的 hash 值。 +1. 一致性:相等的键应当有相等的 hash 值,两个键相等表示调用 equals() 返回的值相等。 2. 高效性:计算应当简便,有必要的话可以把 hash 值缓存起来,在调用 hash 函数时直接返回。 3. 均匀性:所有键的 hash 值应当均匀地分布到 [0, M-1] 之间,这个条件至关重要,直接影响到散列表的性能。