This commit is contained in:
chefyuan 2021-05-06 12:33:03 +08:00
parent b68b384c15
commit b47322ceb3
2 changed files with 55 additions and 11 deletions

View File

@ -68,6 +68,7 @@
- [动画模拟栈和队列详解](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) - [动画模拟栈和队列详解](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)
- [绘图解析链表详解](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) - [绘图解析链表详解](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)
- [绘图描述递归详解](https://mp.weixin.qq.com/s/A4xG9IbQUjFwQoy9YcneCw) - [绘图描述递归详解](https://mp.weixin.qq.com/s/A4xG9IbQUjFwQoy9YcneCw)
- 动画模拟
### 🔋字符串匹配算法 ### 🔋字符串匹配算法
@ -201,9 +202,9 @@
### 🍖其他知识 ### 🍖其他知识
- [C++程序喵大人 ](https://github.com/fightingwangzq/cpp-learning) by 帅强 - [C++程序喵大人 ](https://github.com/fightingwangzq/cpp-learning) by 帅强
- [编程资源](https://www.code-navcn) by 编程导航 - [编程资源](https://www.code-nav.cn) by 编程导航
- [Java知识地图](https://githubcom/smileArchitect/JavaMap) by 帅小雷 - [Java知识地图](https://github.com/smileArchitect/JavaMap) by 帅小雷
- [腾讯云开发](https://githubcom/liyupi) by 鱼皮 - [腾讯云开发](https://github.com/liyupi) by 鱼皮
### 🍰数据库学习 ### 🍰数据库学习

View File

@ -1,29 +1,50 @@
这假期咋就唰的一下就没啦昨天还跟放假第一天似的今天就开始上班了
既然开工了那咱们就随遇而安呗继续努力搬砖吧
下面我们将镜头切到袁记菜馆
小二掌柜的最近大家都在忙着种树说是要保护环境
老板娘 ? 咱们店有呀前几年种的那棵葡萄树不是都结果子了吗就数你吃的最多
小儿.......
大家应该猜到咱们今天要唠啥了
之前给大家介绍了`链表`,```哈希表` 等数据结构 之前给大家介绍了`链表`,```哈希表` 等数据结构
今天咱们来看一种新的数据结构 今天咱们来看一种新的数据结构
这篇文章较基础对于没有学过数据结构的同学会有一些帮助如果你已经学过的话可以复习一下查缺补漏该部分也是面试的高频考点 PS本篇文章内容较基础对于没有学过数据结构的同学会有一些帮助如果你已经学过的话可以复习一下查缺补漏后面会继续更新这个系列
> 因为手机看代码不太方便所以该文对应的代码部分放在了我的仓库大家可以去 Github 进行阅读 **文章大纲**
![image](https://cdn.jsdelivr.net/gh/tan45du/test@master/image.1ein9cz4oips.png)
> 可能有的同学不喜欢手机阅读所以将这篇同步在了我的仓库大家可以去 Github 进行阅读点击文章最下方的阅读原文即可
## ##
我们先来看下树的定义 我们先来看下百度百科对树的定义
树是 n n >= 0 个节点的有限集 n = 0 我们称之为空树, 空树是树的特例 > 树是 n n >= 0 个节点的有限集 n = 0 我们称之为空树, 空树是树的特例
>
任意一棵非空树中 `任意一棵非空树`
- 有且仅有一个特定的节点称为根Root的节点 - 有且仅有一个特定的节点称为根Root的节点
- n > 1 其余节点可分为 m m > 0`互不相交的有限集` T1T2........Tm其中每一个集合本身又是一棵树并且称为根的子树 - n > 1 其余节点可分为 m m > 0`互不相交的有限集` T1T2........Tm其中每一个集合本身又是一棵树并且称为根的子树
我们来拆解一下上面的两句话到底什么是子树呢见下图 我们一起来拆解一下上面的两句话到底什么是子树呢见下图
![二叉树](https://cdn.jsdelivr.net/gh/tan45du/photobed@master/二叉树.6w6xnvay3v40.png) ![二叉树](https://cdn.jsdelivr.net/gh/tan45du/photobed@master/二叉树.6w6xnvay3v40.png)
例如在上面的图中 例如在上面的图中
有且仅有一个特定的节点称为根节点也就是上图中的橙色节点 有且仅有一个特定的节点称为根节点也就是上图中的`橙色节点`
当节点数目大于 1 除根节点以外的节点可分为 m `互不相交`的有限集 T1,T2........Tm 当节点数目大于 1 除根节点以外的节点可分为 m `互不相交`的有限集 T1,T2........Tm
@ -41,7 +62,9 @@
我们将 (A) , (B) , (C) , (D) 代入上方定义中发现(A) , (B) 符合树的定义C, (D) 不符合这是因为 (C) , (D) 它们都有相交的子树 我们将 (A) , (B) , (C) , (D) 代入上方定义中发现(A) , (B) 符合树的定义C, (D) 不符合这是因为 (C) , (D) 它们都有相交的子树
好啦到这里我们知道如何区分树啦下面我们通过下面两张图再来深入了解一下树 好啦到这里我们知道如何辨别树啦下面我们通过下面两张图再来深入了解一下树
主要从节点类型节点间的关系下手
![](https://cdn.jsdelivr.net/gh/tan45du/photobed@master/幻灯片2.4gvv5tql9cw0.PNG) ![](https://cdn.jsdelivr.net/gh/tan45du/photobed@master/幻灯片2.4gvv5tql9cw0.PNG)
@ -51,6 +74,10 @@
![](https://cdn.jsdelivr.net/gh/tan45du/photobed@master/幻灯片3.17o6v5lqd9xc.PNG) ![](https://cdn.jsdelivr.net/gh/tan45du/photobed@master/幻灯片3.17o6v5lqd9xc.PNG)
这里节点的高度和深度可能容易记混我们代入到现实即可
我们求深度时从上往下测量求高度时从下往上测量节点的高度和深度也是如此
## 二叉树 ## 二叉树
我们刷题时遇到的就是二叉树啦下面我们一起来了解一下二叉树 我们刷题时遇到的就是二叉树啦下面我们一起来了解一下二叉树
@ -349,3 +376,19 @@ class Solution {
- **leetcode 107. 二叉树的层序遍历 II** - **leetcode 107. 二叉树的层序遍历 II**
- **leetcode 103. 二叉树的锯齿形层序遍历**
上面两道题仅仅是多了翻转
- **leetcode 199. 二叉树的右视图**
- **leetcode 515. 在每个树行中找最大值**
- **leetcode 637. 二叉树的层平均值**
这三道题仅仅是加了一层的一些操作
- **leetcode 116 填充每个节点的下一个右侧**
- **leetcode 117 填充每个节点的下一个右侧2**
这两个题对每一层的节点进行链接即可
大家可以去顺手解决这些题目但是也要注意一下其他解法把题目吃透不要为了数目而刷题好啦今天的节目就到这里啦我们下期见