Skip to content

Commit 13e54bf

Browse files
author
henryjia
committed
607
1 parent 891aed6 commit 13e54bf

File tree

25 files changed

+475
-36
lines changed

25 files changed

+475
-36
lines changed

docs/.DS_Store

0 Bytes
Binary file not shown.

docs/.vuepress/config.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,7 @@ function genDSASidebar() {
173173
children: [
174174
['soultion/binary-tree', '二叉树'],
175175
['soultion/Array-Solution', '数组'],
176+
['soultion/String-Solution', '字符串'],
176177
['soultion/LinkedList-Soultion', '链表'],
177178
['soultion/stock-problems', '股票问题']
178179
]

docs/_images/.DS_Store

0 Bytes
Binary file not shown.
2 KB
Binary file not shown.

docs/data-management/.DS_Store

0 Bytes
Binary file not shown.
0 Bytes
Binary file not shown.

docs/data-structure-algorithms/Linked-List.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,13 @@
88

99
## 单链表
1010

11-
![](https://tva1.sinaimg.cn/large/007S8ZIlly1gh5uzihd52j30io078wer.jpg)
11+
![single-linkedlist](https://tva1.sinaimg.cn/large/e6c9d24ely1h2zosh2db8j20io078glu.jpg)
1212

1313
一种最简单的结点结构如上图所示,它是构成单链表的基本结点结构。在结点中数据域用来存储数据元素,指针域用于指向下一个具有相同结构的结点。
1414

1515
单链表中的每个结点不仅包含值,还包含链接到下一个结点的`引用字段`。通过这种方式,单链表将所有结点按顺序组织起来。
1616

17-
![](https://cdn.jsdelivr.net/gh/Jstarfish/picBed/img/20200915173602.png)
17+
![single-linkedlist-node](https://tva1.sinaimg.cn/large/e6c9d24ely1h2zovnzeupj20vy0a40t7.jpg)
1818

1919
链表的第一个结点和最后一个结点,分别称为链表的**首结点****尾结点**。尾结点的特征是其 next 引用为空(null)。链表中每个结点的 next 引用都相当于一个指针,指向另一个结点,借助这些 next 引用,我们可以从链表的首结点移动到尾结点。如此定义的结点就称为**单链表**(single linked list)。
2020

@@ -60,7 +60,7 @@ return false;
6060

6161
单链表中数据元素的插入,是通过在链表中插入数据元素所属的结点来完成的。对于链表的不同位置,插入的过程会有细微的差别。
6262

63-
![](https://cdn.jsdelivr.net/gh/Jstarfish/picBed/img/20200915174050.png)
63+
![single-linkedlist-add](https://tva1.sinaimg.cn/large/e6c9d24ely1h2zpvqg6e6j21100u0jto.jpg)
6464

6565
除了单链表的首结点由于没有直接前驱结点,所以可以直接在首结点之前插入一个新的结点之外,在单链表中的其他任何位置插入一个新结点时,都只能是在已知某个特定结点引用的基础上在其后面插入一个新结点。并且在已知单链表中某个结点引用的基础上,完成结点的插入操作需要的时间是 $O(1)$。
6666

@@ -72,15 +72,15 @@ return false;
7272

7373
类似的,在单链表中数据元素的删除也是通过结点的删除来完成的。在链表的不同位置删除结点,其操作过程也会有一些差别。
7474

75-
![](https://cdn.jsdelivr.net/gh/Jstarfish/picBed/img/20200915174447.png)
75+
![dingle-linkedlist-del](https://tva1.sinaimg.cn/large/e6c9d24ely1h2zpwggxqzj20u70u076a.jpg)
7676

7777
在单链表中删除一个结点时,除首结点外都必须知道该结点的直接前驱结点的引用。并且在已知单链表中某个结点引用的基础上,完成其后续结点的删除操作需要的时间是 $O(1)$。
7878

7979
> 在使用单链表实现线性表的时候,为了使程序更加简洁,我们通常在单链表的最前面添加一个**哑元结点**,也称为头结点。在头结点中不存储任何实质的数据对象,其 next 域指向线性表中 0 号元素所在的结点,头结点的引入可以使线性表运算中的一些边界条件更容易处理。
8080
>
8181
> 对于任何基于序号的插入、删除,以及任何基于数据元素所在结点的前面或后面的插入、删除,在带头结点的单链表中均可转化为在某个特定结点之后完成结点的插入、删除,而不用考虑插入、删除是在链表的首部、中间、还是尾部等不同情况。
8282
83-
![](https://cdn.jsdelivr.net/gh/Jstarfish/picBed/img/20200915174846.png)
83+
![](../../../picBed/img/20200915174846.png)
8484

8585
## 双向链表
8686

docs/distribution/.DS_Store

0 Bytes
Binary file not shown.

docs/distribution/ZooKeeper/Consistency-Protocol.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ XA 就是 X/Open DTP 定义的交易中间件与数据库之间的接口规范
8989

9090
协调者根据各参与者的反馈情况决定最终是否可以提交事务,如果反馈都是Yes,发送提交 `commit` 请求,参与者提交成功后返回 `Ack` 消息,协调者接收后就完成了。如果反馈是 No 或者超时未反馈,发送 `Rollback` 请求,利用阶段一记录表的 `Undo` 信息执行回滚,并反馈给协调者 `Ack` ,中断消息
9191

92-
![2PC](https://cdn.jsdelivr.net/gh/Jstarfish/picBed/zk/00831rSTly1gclosfvncqj30hs09j0td.jpg)
92+
![2PC](https://tva1.sinaimg.cn/large/e6c9d24ely1h2sj2ouelxj20q40e0jrz.jpg)
9393

9494
#### 优缺点
9595

0 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)