美文网首页
10.二叉树

10.二叉树

作者: 芝麻酱的简书 | 来源:发表于2018-08-07 18:29 被阅读12次

    二叉树(Binary Tree)是n(n>=0)个结点的有限集合,该集合或者为空集(空二叉树),或者由一个根结点和两棵互不相交的、分别称为根结点的左子树和右子树的二叉树组成。

    左子树和右子树位置不可颠倒。

    二叉树的形态:
    斜二叉树

    子树全部在一个方向

    满二叉树

    满二叉树的特点有:

    • 叶子只能出现在最下一层。
    • 非叶子结点的度一定是2。
    • 在同样深度的二叉树中,满二叉树的结点个数一定最多,同时叶子也是最多。
    完全二叉树

    二叉树的存储

    二叉链表


    二叉树的遍历

    二叉树的遍历(traversing binary tree)是指从根结点出发,按照某种次序依次访问二叉树中所有结点,使得每个结点被访问一次且仅被访问一次。

    二叉树的遍历方式可以很多,如果我们限制了从左到右的习惯方式,那么主要就分为一下四种:

    • 前序遍历
    • 中序遍历
    • 后序遍历
    • 层序遍历

    1.前序遍历:

    • 若二叉树为空,则空操作返回,否则先访问根结点,然后前序遍历左子树,再前序遍历右子树。


    2.中序遍历:

    • 若树为空,则空操作返回,否则从根结点开始(注意并不是先访问根结点),中序遍历根结点的左子树,然后是访问根结点,最后中序遍历右子树。

    3.后序遍历

    • 若树为空,则空操作返回,否则从左到右先叶子后结点的方式遍历访问左右子树,最后访问根结点。

    4.层序遍历:

    • 若树为空,则空操作返回,否则从树的第一层,也就是根结点开始访问,从上而下逐层遍历,在同一层中,按从左到右的顺序对结点逐个访问。

    森林、树、二叉树的转换

    相关文章

      网友评论

          本文标题:10.二叉树

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