Skip to content

Commit b47322c

Browse files
committed
chefyuan
1 parent b68b384 commit b47322c

File tree

2 files changed

+55
-11
lines changed

2 files changed

+55
-11
lines changed

README.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@
6868
- [【动画模拟】栈和队列详解](https://github.com/chefyuan/algorithm-base/blob/main/animation-simulation/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E5%92%8C%E7%AE%97%E6%B3%95/%E5%85%B3%E4%BA%8E%E6%A0%88%E5%92%8C%E9%98%9F%E5%88%97%E7%9A%84%E9%82%A3%E4%BA%9B%E4%BA%8B.md)
6969
- [【绘图解析】链表详解](https://github.com/chefyuan/algorithm-base/blob/main/animation-simulation/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E5%92%8C%E7%AE%97%E6%B3%95/%E5%85%B3%E4%BA%8E%E9%93%BE%E8%A1%A8%E7%9A%84%E9%82%A3%E4%BA%9B%E4%BA%8B.md)
7070
- [【绘图描述】递归详解](https://mp.weixin.qq.com/s/A4xG9IbQUjFwQoy9YcneCw)
71+
- 【动画模拟】树
7172

7273
### 🔋字符串匹配算法
7374

@@ -201,9 +202,9 @@
201202
### 🍖其他知识
202203

203204
- [C++程序喵大人 ](https://github.com/fightingwangzq/cpp-learning) by 帅强
204-
- [编程资源](https://www.code-navcn) by 编程导航
205-
- [Java知识地图](https://githubcom/smileArchitect/JavaMap) by 帅小雷
206-
- [腾讯云开发](https://githubcom/liyupi) by 鱼皮
205+
- [编程资源](https://www.code-nav.cn) by 编程导航
206+
- [Java知识地图](https://github.com/smileArchitect/JavaMap) by 帅小雷
207+
- [腾讯云开发](https://github.com/liyupi) by 鱼皮
207208

208209
### 🍰数据库学习
209210

animation-simulation/二叉树/二叉树基础.md

Lines changed: 51 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,50 @@
1+
这假期咋就唰的一下就没啦,昨天还跟放假第一天似的,今天就开始上班了。
2+
3+
既然开工了,那咱们就随遇而安呗,继续努力搬砖吧。
4+
5+
下面我们将镜头切到袁记菜馆。
6+
7+
小二:掌柜的,最近大家都在忙着种树,说是要保护环境。
8+
9+
老板娘:树 ? 咱们店有呀,前几年种的那棵葡萄树,不是都结果子了吗?就数你吃的最多。
10+
11+
小儿:这.......。
12+
13+
大家应该猜到,咱们今天要唠啥了。
14+
115
之前给大家介绍了`链表`,```哈希表` 等数据结构
216

317
今天咱们来看一种新的数据结构,树。
418

5-
这篇文章较基础,对于没有学过数据结构的同学会有一些帮助,如果你已经学过的话,可以复习一下,查缺补漏,该部分也是面试的高频考点。
19+
PS:本篇文章内容较基础,对于没有学过数据结构的同学会有一些帮助,如果你已经学过的话,也可以复习一下,查缺补漏,后面会继续更新这个系列。
20+
21+
**文章大纲**
22+
23+
![image](https://cdn.jsdelivr.net/gh/tan45du/test@master/image.1ein9cz4oips.png)
24+
625

7-
> 注:因为手机看代码不太方便,所以该文对应的代码部分,放在了我的仓库,大家可以去 Github 进行阅读。
26+
27+
> 注:可能有的同学不喜欢手机阅读,所以将这篇同步在了我的仓库,大家可以去 Github 进行阅读,点击文章最下方的阅读原文即可
828
929
##
1030

11-
我们先来看下树的定义
31+
我们先来看下百度百科对树的定义
1232

13-
树是 n (n >= 0) 个节点的有限集。 n = 0 时 我们称之为空树, 空树是树的特例。
33+
> 树是 n (n >= 0) 个节点的有限集。 n = 0 时 我们称之为空树, 空树是树的特例。
34+
>
1435
15-
在任意一棵非空树中
36+
`任意一棵非空树`
1637

1738
- 有且仅有一个特定的节点称为根(Root)的节点
1839
- 当 n > 1 时,其余节点可分为 m (m > 0)个`互不相交的有限集` T1、T2、........Tm,其中每一个集合本身又是一棵树,并且称为根的子树。
1940

20-
我们先来拆解一下上面的两句话,到底什么是子树呢?见下图
41+
我们一起来拆解一下上面的两句话,到底什么是子树呢?见下图
2142

2243
![二叉树](https://cdn.jsdelivr.net/gh/tan45du/photobed@master/二叉树.6w6xnvay3v40.png)
2344

2445
例如在上面的图中
2546

26-
有且仅有一个特定的节点称为根节点,也就是上图中的橙色节点
47+
有且仅有一个特定的节点称为根节点,也就是上图中的`橙色节点`
2748

2849
当节点数目大于 1 时,除根节点以外的节点,可分为 m 个`互不相交`的有限集 T1,T2........Tm。
2950

@@ -41,7 +62,9 @@
4162

4263
我们将 (A) , (B) , (C) , (D) 代入上方定义中发现,(A) , (B) 符合树的定义,(C), (D) 不符合,这是因为 (C) , (D) 它们都有相交的子树。
4364

44-
好啦,到这里我们知道如何区分树啦,下面我们通过下面两张图再来深入了解一下树。
65+
好啦,到这里我们知道如何辨别树啦,下面我们通过下面两张图再来深入了解一下树。
66+
67+
主要从节点类型,节点间的关系下手。
4568

4669
![](https://cdn.jsdelivr.net/gh/tan45du/photobed@master/幻灯片2.4gvv5tql9cw0.PNG)
4770

@@ -51,6 +74,10 @@
5174

5275
![](https://cdn.jsdelivr.net/gh/tan45du/photobed@master/幻灯片3.17o6v5lqd9xc.PNG)
5376

77+
这里节点的高度和深度可能容易记混,我们代入到现实即可。
78+
79+
我们求深度时,从上往下测量,求高度时,从下往上测量,节点的高度和深度也是如此。
80+
5481
## 二叉树
5582

5683
我们刷题时遇到的就是二叉树啦,下面我们一起来了解一下二叉树
@@ -349,3 +376,19 @@ class Solution {
349376

350377
- **leetcode 107. 二叉树的层序遍历 II**
351378

379+
- **leetcode 103. 二叉树的锯齿形层序遍历**
380+
381+
上面两道题仅仅是多了翻转
382+
383+
- **leetcode 199. 二叉树的右视图**
384+
- **leetcode 515. 在每个树行中找最大值**
385+
- **leetcode 637. 二叉树的层平均值**
386+
387+
这三道题,仅仅是加了一层的一些操作
388+
389+
- **leetcode 116 填充每个节点的下一个右侧**
390+
- **leetcode 117 填充每个节点的下一个右侧2**
391+
392+
这两个题对每一层的节点进行链接即可。
393+
394+
大家可以去顺手解决这些题目,但是也要注意一下其他解法,把题目吃透。不要为了数目而刷题,好啦,今天的节目就到这里啦,我们下期见!

0 commit comments

Comments
 (0)