diff --git a/notes/Java 容器.md b/notes/Java 容器.md
index e433af5b..bb0a9265 100644
--- a/notes/Java 容器.md
+++ b/notes/Java 容器.md
@@ -646,7 +646,7 @@ final V remove(Object key, int hash, Object value) {
}
```
-在以下链表中删除 C 节点,C 节点之后的所有节点都原样保留,C 节点之前的所有节点都没克隆到新的链表中,并且顺序被反转。可以注意到,在执行 remove 操作时,原始链表并没有被修改,也就是说,读线程不会受到执行 remove 操作的并发写线程的干扰。
+在以下链表中删除 C 节点,C 节点之后的所有节点都原样保留,C 节点之前的所有节点都被克隆到新的链表中,并且顺序被反转。可以注意到,在执行 remove 操作时,原始链表并没有被修改,也就是说,读线程不会受到执行 remove 操作的并发写线程的干扰。
diff --git a/notes/算法.md b/notes/算法.md
index 7b1b1219..c55bbc2f 100644
--- a/notes/算法.md
+++ b/notes/算法.md
@@ -1537,13 +1537,14 @@ private void resize(int cap) {
### 1. 各种符号表实现的比较
-
+
应当优先考虑散列表,当需要有序性操作时使用红黑树。
### 2. Java 的符号表实现
-Java 的 java.util.TreeMap 和 java.util.HashMap 分别是基于红黑树和拉链法的散列表的符号表实现。
+- java.util.TreeMap:红黑树
+- java.util.HashMap:拉链法的散列表
### 3. 集合类型
@@ -1554,8 +1555,6 @@ Java 的 java.util.TreeMap 和 java.util.HashMap 分别是基于红黑树和拉
当向量为稀疏向量时,可以使用符号表来存储向量中的非 0 索引和值,使得乘法运算只需要对那些非 0 元素进行即可。
```java
-import java.util.HashMap;
-
public class SparseVector {
private HashMap hashMap;
@@ -1581,3 +1580,4 @@ public class SparseVector {
}
}
```
+
diff --git a/pics/b15ed62e-b955-44ac-b5cb-6fa7a16c79b5.png b/pics/b15ed62e-b955-44ac-b5cb-6fa7a16c79b5.png
new file mode 100644
index 00000000..2bb67d95
Binary files /dev/null and b/pics/b15ed62e-b955-44ac-b5cb-6fa7a16c79b5.png differ