美文网首页
数据结构二叉树的基础理解以及遍历

数据结构二叉树的基础理解以及遍历

作者: 金星show | 来源:发表于2018-12-13 16:38 被阅读0次

首先,来认识树的相关概念。结点的度是该结点有多少个孩子结点就是该结点的度(简单来说,一个结点向下有几根出去的线,度就是几)。如图所示,A的度是4,B和C的度是2,其它的度都是0。度为0又称作叶结点(终端结点),不为0的度就是分支结点(或非终端节点)。


image.png

孩子结点(或者是后继结点),如图所示,A的度是四,A的四个孩子结点分别是B、C、D、E。B的孩子结点分别是F和G。


image.png

双亲结点(或者称直接前驱结点),例如上一步说到的B、C、D、E是A的孩子结点,那么A就是B、C、D、E的双亲结点点,也就是直接前驱结点。B、C分别是F和G,H和I的双亲结点。


image.png

兄弟结点,例如B、C、D和E是兄弟结点,F和G是兄弟结点,H和I是兄弟结点。


image.png

区分树的度和结点的度。很好理解,结点的度中最大值就是树的度!例如图中的树的度是4,因为结点度中最大值是A的度是4。


image.png

结点的层次,根节点的层次为0,从根节点开始,后面的孩子结点都是其双亲结点的层次+1。如A的层次为0,B、C、D、E的层次是1,F、G是B的层次+1(即2),H、I是C的层次+1(即2)。树的深度,是结点层次的最大值,这颗树的深度是2。


image.png

二叉树由一个根结点和两个左子树和右子树构成,子树也是二叉树。5种形态:空结点, 无左右子树结点,只有左子树结点,只有右子树结点和左右子树都存在的结点。

满二叉树:二叉树种,所有分支结点都存在左右子树,且所有叶子结点都在一层上。

完全二叉树:有n个结点与满二叉树的结构相同。


image.png
image.png

再看看二叉树的遍历,分别是前序遍历、中序遍历和后序遍历。(根在中间、左边孩子),根节点(根),左子树(左)、右子树(右)。(遍历时,左边遍历完才能到右边)

如图,例子的前序遍历是:ABDHIMEJNCFKG。(简记口诀:根左右)


image.png

它的中序遍历是:HDMIBJNEAFKCG。(简记口诀:左根右)


image.png

它的后序遍历是:HMIDNJEBKFGCA。(简记口诀:左右根)


image.png image.png

答案:
前序遍历:abdhinejcfkglomp
中序遍历:hdnibjeafkcolgmp
后续遍历:hnidjebkfolpmgca。

相关文章

  • 二叉树遍历(IFE题目)

    二叉树的遍历 今天的题目是模拟对二叉树的遍历,大二本来就学过数据结构这一门课,先序遍历、中序遍历以及后序遍历理解起...

  • python实现二叉树的遍历

    二叉树是一种非常重要的数据结构,很多其它数据结构都是基于二叉树的基础演变而来的。对于二叉树,有深度遍历和广度遍历,...

  • 大数据面试题目

    一、数据结构与算法 1.二叉树前序、中序、后续遍历方式(递归以及非递归) 2.二叉树的深度以及广度遍历方式 ...

  • 算法学习

    ### 实现二叉树以及二叉树遍历数据结构递归比较重要 1.先序遍历 先序遍历,就是先遍历根节点然后再遍历左子树,最...

  • 面试,你需要知道这些东西

    一、数据结构与算法 1.二叉树前序、中序、后续遍历方式(递归以及非递归) 2.二叉树的深度以及广度遍历方式 3.二...

  • 新鲜出炉!阿里大数据工程师面经!

    一、数据结构与算法 1.二叉树前序、中序、后续遍历方式(递归以及非递归) 2.二叉树的深度以及广度遍历方式 3.二...

  • 二叉树非递归遍历

    二叉树的非递归遍历 二叉树是一种非常重要的数据结构,很多其它数据结构都是基于二叉树的基础演变而来的。对于二叉树,有...

  • 数据结构二叉树的基础理解以及遍历

    首先,来认识树的相关概念。结点的度是该结点有多少个孩子结点就是该结点的度(简单来说,一个结点向下有几根出去的线,度...

  • 数据结构-二叉树前序、中序、后序遍历

    今晚谈一点技术问题,是有关数据结构中二叉树的前序遍历、中序遍历和后序遍历的理解。最近做题发现自己并没有完全理解其概...

  • 二叉树的遍历

    数据结构算法 二叉树的遍历

网友评论

      本文标题:数据结构二叉树的基础理解以及遍历

      本文链接:https://www.haomeiwen.com/subject/lowthqtx.html