数据结构----完全二叉树和满二叉树以及前序、中序、后序遍历

一) 满二叉树和完全二叉树
1.满二叉树定义:

又叫Full Binary Tree. 除最后一层无任何子节点外,每一层上的所有结点都有两个子结点(最后一层上的无子结点的结点为叶子结点)。也可以这样理解,除叶子结点外的所有结点均有两个子结点。节点数达到最大值。所有叶子结点必须在同一层上。
如图:
《数据结构----完全二叉树和满二叉树以及前序、中序、后序遍历》

2.完全二叉树定义:

完全二叉树(Complete Binary Tree)
若设二叉树的深度为h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第 h 层所有的结点都连续集中在最左边,这就是完全二叉树。

这里可以看到第2层所有的节点都集中在了最左边!!!!!!
《数据结构----完全二叉树和满二叉树以及前序、中序、后序遍历》

完全二叉树是由满二叉树而引出来的。对于深度为K的,有n个结点的二叉树,当且仅当其每一个结点都与深度为K的满二叉树中编号从1至n的结点一一对应时称之为完全二叉树。

注意:
一棵二叉树至多只有最下面的一层上的结点的度数可以小于2,并且最下层上的结点都集中在该层最左边的若干位置上,则此二叉树成为完全二叉树。

二)前序、中序、后序遍历

前序遍历:

遍历的顺序是:根节点-左节点-右节点
《数据结构----完全二叉树和满二叉树以及前序、中序、后序遍历》

中序遍历:

遍历的顺序是:左节点-根节点-右节点
《数据结构----完全二叉树和满二叉树以及前序、中序、后序遍历》

后序遍历:

遍历的顺序是:左节点-右节点-根节点
《数据结构----完全二叉树和满二叉树以及前序、中序、后序遍历》

例子:

《数据结构----完全二叉树和满二叉树以及前序、中序、后序遍历》

前序遍历法:123456789(根左右)

中序遍历法:325461879(左根右)

后序遍历法:356428971(左右根)

补充两个例子:

《数据结构----完全二叉树和满二叉树以及前序、中序、后序遍历》
前序124536 (根左右)

中序425136(左根右)

后序452631(左右根)

《数据结构----完全二叉树和满二叉树以及前序、中序、后序遍历》
前序12469735810(根左右)

中序26947135108(左根右)

后序96742108531(左右根)

https://blog.csdn.net/gpwner/article/details/51501561

    原文作者:满二叉树
    原文地址: https://blog.csdn.net/m0_37477061/article/details/80838733
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞