看了这篇对二叉树的介绍,除了不会写代码啥都会!!!

Posted Java笔记虾

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了看了这篇对二叉树的介绍,除了不会写代码啥都会!!!相关的知识,希望对你有一定的参考价值。

作者 | ithuangqing

来源 | 编码之外(ID:ithuangqing)

数据结构系列的文章我们之前已经说过数组,链表,哈希表以及队列等等,上一篇也简单的介绍下了树的概念,从今天开始,我们就进入二叉树的学习,这可是面试官最喜欢的问题之一,务必掌握牢固哦!

回顾树的那些事

在介绍二叉树之前,我们有必要再来看看关于树的一些关键性概念,毕竟,二叉树也是树嘛。

我们首先应该了解的就是树这种数据结构属于非线性结构,然后存储的数据具有一对多的关系,这是最最基本的概念了。

几个概念名词要分清

然后我们需要清楚关于树的一个关键性的概念名词。

节点:什么是节点呢?这个节点也有叫做结点,这两个应该没有区别吧,我看过不少文章,有的叫做节点,有的叫做结点,我觉得节点更加合适,因为我们喜欢使用Node来定义一个节点,Node一般翻译过来就是节点二字。

那啥是节点:

简单来说,树结构存储的每一个元素都叫做一个节点

也就是在树这种结构中存储的元素都叫做节点,然后根据有些节点的特殊位置可能会有不同的叫法。

比如根节点,根节点只有一个,最上面的那个节点,还有父节点,子节点和兄弟节点,这些其实都不难理解,属于树的基础知识,不了解的可以看这篇文章,有详细的介绍:来吧!一文彻底搞定数据结构之树!

除了节点,还有子树和空树的概念,以及节点的度和层次,树的高度或者说是深度,这些都可以在上面提到的这篇文章中找到,这里简单说下节点的度和层次,先看一个图:

看了这篇对二叉树的介绍,除了不会写代码啥都会!!!
在这里插入图片描述

度:对于一个节点而言,拥有的子树数称为节点的度(Degree)。比如,图中根节点 A 下分出了 3 个子树(BCD),所以,结点 A 的度为 3。

树的度:一棵树的度是树内各节点的度的最大值。图 中,各个节点的度的最大值为 3,所以,整棵树的度的值是 3。

另外再提下树的高度或者深度:

一棵树的深度(高度)是树中节点所在的最大的层次。注意这里说的是一个树的,而不是某个节点的,因为对于一个树而言,高度从下往上和深度从上往下都是一样的,但是对于某个节点而言高度和深度就不一样了

tips:关于这些基本概念,最好就是自己完全理解,知道是怎么一回事,而不是机械的去记忆,不然即使当时记住了,要不几天也就忘得差不多了

英文名字Binary Tree

对了,一定要记住二叉树的英文是Binary Tree

以上是关于看了这篇对二叉树的介绍,除了不会写代码啥都会!!!的主要内容,如果未能解决你的问题,请参考以下文章

线索二叉树

线索二叉树

线索二叉树

转更简单的非递归遍历二叉树的方法

创建二叉树非递归完成对二叉树的先序和后序遍历并遍历输出每一层的结点数查找结点P 和结点Q的最近共同祖先

周记2