Skip to content

Commit b91ccf1

Browse files
committed
[feat]directory updates
1 parent f455b60 commit b91ccf1

15 files changed

+368
-794
lines changed

all.md

Lines changed: 0 additions & 445 deletions
This file was deleted.

all.pdf

10.8 MB
Binary file not shown.

docs/c-1计算机网络.md

Lines changed: 38 additions & 33 deletions
Large diffs are not rendered by default.

docs/c-2数据结构.md

Lines changed: 26 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11

22

3-
### 3.2 数据结构
3+
## 3.2 数据结构
44

55
> 作者:Guide哥。
66
>
@@ -11,56 +11,57 @@
1111
> 欢迎大家自荐,数据结构这部分内容是很久之前写的,如果有老哥对这方面的总结不错的话,欢迎投稿联系。我的邮箱 :koushuangbwcx@163.com 。
1212
1313

14-
#### 3.2.1 Queue
14+
### 3.2.1 Queue
1515

16-
##### 什么是队列
16+
#### 什么是队列
1717
队列是数据结构中比较重要的一种类型,它支持 FIFO,尾部添加、头部删除(先进队列的元素先出队列),跟我们生活中的排队类似。
1818

19-
##### 队列的种类
19+
#### 队列的种类
2020

2121
- **单队列**(单队列就是常见的队列, 每次添加元素时,都是添加到队尾,存在“假溢出”的问题也就是明明有位置却不能添加的情况)
2222
- **循环队列**(避免了“假溢出”的问题)
2323

24-
##### Java 集合框架中的队列 Queue
24+
#### Java 集合框架中的队列 Queue
2525

2626
Java 集合中的 Queue 继承自 Collection 接口 ,Deque, LinkedList, PriorityQueue, BlockingQueue 等类都实现了它。
2727
Queue 用来存放 等待处理元素 的集合,这种场景一般用于缓冲、并发访问。
2828
除了继承 Collection 接口的一些方法,Queue 还添加了额外的 添加、删除、查询操作。
2929

30-
##### 推荐文章
30+
#### 推荐文章
3131

3232
- [Java 集合深入理解(9):Queue 队列](https://blog.csdn.net/u011240877/article/details/52860924)
3333

34-
#### 3.2.2 Set
34+
### 3.2.2 Set
3535

36-
##### 什么是 Set
36+
#### 什么是 Set
3737
Set 继承于 Collection 接口,是一个不允许出现重复元素,并且无序的集合,主要 HashSet 和 TreeSet 两大实现类。
3838

3939
在判断重复元素的时候,HashSet 集合会调用 hashCode()和 equal()方法来实现;TreeSet 集合会调用compareTo方法来实现。
4040

41-
##### 补充:有序集合与无序集合说明
41+
#### 补充:有序集合与无序集合说明
42+
4243
- 有序集合:集合里的元素可以根据 key 或 index 访问 (List、Map)
4344
- 无序集合:集合里的元素只能遍历。(Set)
4445

4546

46-
##### HashSet 和 TreeSet 底层数据结构
47+
#### HashSet 和 TreeSet 底层数据结构
4748

4849
**HashSet** 是哈希表结构,主要利用 HashMap 的 key 来存储元素,计算插入元素的 hashCode 来获取元素在集合中的位置;
4950

5051
**TreeSet** 是红黑树结构,每一个元素都是树中的一个节点,插入的元素都会进行排序;
5152

5253

53-
##### 推荐文章
54+
#### 推荐文章
5455

5556
- [Java集合--Set(基础)](https://www.jianshu.com/p/b48c47a42916)
5657

57-
#### 3.2.3 List
58+
### 3.2.3 List
5859

59-
##### 什么是List
60+
#### 什么是List
6061

6162
在 List 中,用户可以精确控制列表中每个元素的插入位置,另外用户可以通过整数索引(列表中的位置)访问元素,并搜索列表中的元素。 与 Set 不同,List 通常允许重复的元素。 另外 List 是有序集合而 Set 是无序集合。
6263

63-
##### List的常见实现类
64+
#### List的常见实现类
6465

6566
**ArrayList** 是一个数组队列,相当于动态数组。它由数组实现,随机访问效率高,随机插入、随机删除效率低。
6667

@@ -70,25 +71,25 @@ Set 继承于 Collection 接口,是一个不允许出现重复元素,并且
7071

7172
**Stack** 是栈,它继承于Vector。它的特性是:先进后出(FILO, First In Last Out)。相关阅读:[java数据结构与算法之栈(Stack)设计与实现](https://blog.csdn.net/javazejian/article/details/53362993)
7273

73-
##### ArrayList 和 LinkedList 源码学习
74+
#### ArrayList 和 LinkedList 源码学习
7475

7576
- [ArrayList 源码学习](https://github.com/Snailclimb/JavaGuide/blob/master/docs/java/collection/ArrayList.md)
7677
- [LinkedList 源码学习](https://github.com/Snailclimb/JavaGuide/blob/master/docs/java/collection/LinkedList.md)
7778

78-
##### 推荐阅读
79+
#### 推荐阅读
7980

8081
- [java 数据结构与算法之顺序表与链表深入分析](https://blog.csdn.net/javazejian/article/details/52953190)
8182

8283

83-
#### 3.2.4 Map
84+
### 3.2.4 Map
8485

8586

8687
- [集合框架源码学习之 HashMap(JDK1.8)](https://juejin.im/post/5ab0568b5188255580020e56)
8788
- [ConcurrentHashMap 实现原理及源码分析](https://link.juejin.im/?target=http%3A%2F%2Fwww.cnblogs.com%2Fchengxiao%2Fp%2F6842045.html)
8889

89-
#### 3.2.5 树
90+
### 3.2.5 树
9091

91-
##### 1. 二叉树
92+
#### 1. 二叉树
9293

9394
[二叉树](https://baike.baidu.com/item/%E4%BA%8C%E5%8F%89%E6%A0%91)(百度百科)
9495

@@ -98,25 +99,25 @@ Set 继承于 Collection 接口,是一个不允许出现重复元素,并且
9899

99100
(3)[平衡二叉树](https://baike.baidu.com/item/%E5%B9%B3%E8%A1%A1%E4%BA%8C%E5%8F%89%E6%A0%91/10421057)——平衡二叉树又被称为AVL树(区别于AVL算法),它是一棵二叉排序树,且具有以下性质:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。
100101

101-
##### 2. 完全二叉树
102+
#### 2. 完全二叉树
102103

103104
[完全二叉树](https://baike.baidu.com/item/%E5%AE%8C%E5%85%A8%E4%BA%8C%E5%8F%89%E6%A0%91)(百度百科)
104105

105106
完全二叉树:叶节点只能出现在最下层和次下层,并且最下面一层的结点都集中在该层最左边的若干位置的二叉树。
106107

107-
##### 3. 满二叉树
108+
#### 3. 满二叉树
108109

109110
[满二叉树](https://baike.baidu.com/item/%E6%BB%A1%E4%BA%8C%E5%8F%89%E6%A0%91)(百度百科,国内外的定义不同)
110111

111112
国内教程定义:一个二叉树,如果每一个层的结点数都达到最大值,则这个二叉树就是满二叉树。也就是说,如果一个二叉树的层数为K,且结点总数是(2^k) -1 ,则它就是满二叉树。
112113

113-
##### 4. 堆
114+
#### 4. 堆
114115

115116
[数据结构之堆的定义](https://blog.csdn.net/qq_33186366/article/details/51876191)
116117

117118
堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆;或者每个结点的值都小于或等于其左右孩子结点的值,称为小顶堆。
118119

119-
##### 5. 二叉查找树(BST)
120+
#### 5. 二叉查找树(BST)
120121

121122
[浅谈算法和数据结构: 七 二叉查找树](http://www.cnblogs.com/yangecnu/p/Introduce-Binary-Search-Tree.html)
122123

@@ -127,11 +128,11 @@ Set 继承于 Collection 接口,是一个不允许出现重复元素,并且
127128
3. 任意节点的左、右子树也分别为二叉查找树;
128129
4. 没有键值相等的节点(no duplicate nodes)。
129130

130-
##### 6. 平衡二叉树(Self-balancing binary search tree)
131+
#### 6. 平衡二叉树(Self-balancing binary search tree)
131132

132133
[ 平衡二叉树](https://baike.baidu.com/item/%E5%B9%B3%E8%A1%A1%E4%BA%8C%E5%8F%89%E6%A0%91)(百度百科,平衡二叉树的常用实现方法有红黑树、AVL、替罪羊树、Treap、伸展树等)
133134

134-
##### 7. 红黑树
135+
#### 7. 红黑树
135136

136137
红黑树特点:
137138

0 commit comments

Comments
 (0)