数据结构之树(基础篇)

定义

    这一篇主要讲的是树的基础然后从树的定义中引出我们要说的二叉树的写法。

    树:我们之前所说过的数据结构都是一对一,即一个位于该数据结构中的数据它有一个前驱和一个后继

        (或者没有)。而在树中一个节点只有一个前驱,但是却有多个后继。树虽然是非线性的逻辑结构但

         是它依然可以用线性结构来存储。

    二叉树:一个数据有它一个前驱以及不超过两个的后继。由左子树和右子树还有根节点组成。所有树的

            度不超过2,二叉树为有序树即左子树和右子树是不可颠倒。这就意味着即使二叉树只包含3个节点

            也有5中不同的形态。    

    二叉树的性质:

            在二叉树的第i层上至多有2的(i-1)次方个几点,至少有1个节点;

            深度为k的二叉树,至多有2的i次方减1个节点,至少有k个节点;

            对于任何一颗二叉树,若二度的节点数为n,则叶子树必定为n+1个;

    完全二叉树:

            深度为k的,有n个节点的二叉树,当且仅当没一个节点都与深度为k的满二叉树中编号从1至n的节点

            一一对应。最后一层:叶子节点尽力靠左。具有n个节点的完全二叉树的深度必为(log2 n)+1。

    二叉树的遍历:

            二叉树的遍历一般情况下分为先序遍历,中序遍历,后序遍历,层次遍历

            先序遍历:

            

            遍历结果是:12457836

            中序遍历:

            

            遍历结果为:42785136

            后序遍历:

            

            遍历结果为:48752631

            

            遍历结果为:12345678

欢迎各位指出不足之处


    

猜你喜欢

转载自blog.csdn.net/qq_41003024/article/details/80284581