Skip to content

Commit

Permalink
auto commit
Browse files Browse the repository at this point in the history
  • Loading branch information
CyC2018 committed Mar 24, 2018
1 parent 55985c8 commit e00519d
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 5 deletions.
2 changes: 1 addition & 1 deletion notes/Java 容器.md
Original file line number Diff line number Diff line change
Expand Up @@ -646,7 +646,7 @@ final V remove(Object key, int hash, Object value) {
}
```

在以下链表中删除 C 节点,C 节点之后的所有节点都原样保留,C 节点之前的所有节点都没克隆到新的链表中,并且顺序被反转。可以注意到,在执行 remove 操作时,原始链表并没有被修改,也就是说,读线程不会受到执行 remove 操作的并发写线程的干扰。
在以下链表中删除 C 节点,C 节点之后的所有节点都原样保留,C 节点之前的所有节点都被克隆到新的链表中,并且顺序被反转。可以注意到,在执行 remove 操作时,原始链表并没有被修改,也就是说,读线程不会受到执行 remove 操作的并发写线程的干扰。

<div align="center"> <img src="../pics//image007.jpg"/> </div><br>

Expand Down
8 changes: 4 additions & 4 deletions notes/算法.md
Original file line number Diff line number Diff line change
Expand Up @@ -1537,13 +1537,14 @@ private void resize(int cap) {

### 1. 各种符号表实现的比较

<div align="center"> <img src="../pics//9ee83c8c-1165-476c-85a6-e6e434e5307a.jpg"/> </div><br>
<div align="center"> <img src="../pics//b15ed62e-b955-44ac-b5cb-6fa7a16c79b5.png"/> </div><br>

应当优先考虑散列表,当需要有序性操作时使用红黑树。

### 2. Java 的符号表实现

Java 的 java.util.TreeMap 和 java.util.HashMap 分别是基于红黑树和拉链法的散列表的符号表实现。
- java.util.TreeMap:红黑树
- java.util.HashMap:拉链法的散列表

### 3. 集合类型

Expand All @@ -1554,8 +1555,6 @@ Java 的 java.util.TreeMap 和 java.util.HashMap 分别是基于红黑树和拉
当向量为稀疏向量时,可以使用符号表来存储向量中的非 0 索引和值,使得乘法运算只需要对那些非 0 元素进行即可。

```java
import java.util.HashMap;

public class SparseVector {
private HashMap<Integer, Double> hashMap;

Expand All @@ -1581,3 +1580,4 @@ public class SparseVector {
}
}
```

Binary file added pics/b15ed62e-b955-44ac-b5cb-6fa7a16c79b5.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit e00519d

Please sign in to comment.