算法基础---数据结构---树和二叉树

本文详细介绍了树的基本概念,包括结点的度、树的度、叶子结点等,并阐述了树的不同遍历方式,如前序、后序及层次遍历。此外,还介绍了二叉树的特性和遍历方法,如前序、中序和后序遍历。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

                                                                                                       

 

 

首先要清楚的概念是:

1、结点的度

        即该结点有多少个子结点。如1号结点的度是3。

2、树的度

        所有结点的度的最大值。如图,树的度是3。

3、叶子结点

        结点的度为0的结点。(既没有子结点)

4、分支结点

        除了 叶子结点 以外的所有结点。(与叶子结点互补)

5、内部结点

        除了 根结点 和 叶子结点 以外的所有结点。

 

      6、父结点

      7、子结点

      8、兄弟结点

     (6、7、8都是结点与结点之间相对而言的,同字面意思一样)

 

9、层次

      如图所示树的层次为4。(即最最长有多少层)

 

相关概念:

1、 n = k + 1

          既:所有结点的度 + 1 = 树的结点个数

 

树的遍历:

1、 前序遍历

       先访问 根结点 ,然后访问其 子结点 ,若 子结点 下面还有 子结点 ,则继续往下访问。 子结点的访问循序从左往右。 若没有了 子结点 则退一层访问其 兄弟结点。

       如上图的 前序遍历 的结果为: 1、 2、 5、 6、 7、 3、 4、 8、 9、 10

2、 后序遍历

      先访问 叶子结点 ,在访问跟结点。 既从 子结点 开始访问 然后到 兄弟结点 最后到父结点.

      如上图的 后序遍历 的结果为: 5、 6、 7、 2、 3、 9、 10、 8、 4、1

3、 层次遍历

       一层一层的从左往右开始访问。

      如上图的 中序遍历 的结果为: 1、2、3、4、5、6、7、8、9、10

 

      

                                                                                                       二叉树

 

二叉树的类型:

1、 满二叉树:

         完整的金字塔形。

2、 完全二叉树:

        若 完全二叉树 有N层,那么N-1层是 满二叉树; 而且最后一次要 从左至右 要 有规律的 排列。

 

二叉树的重要特性:

1、在二叉树的第i层上最多有 2的i次方-1 个结点 (i 大于等于1);

 

2、深度为k的二叉树最多有 2的k次方-1 个结点 (k 大于等于1);

        注:k是从0开始算起的。

3、对任何一颗二叉树,如果其叶子结点数为 n0 ,度为2的结点数为 n2 ,则 n0 = n2+1;

 

二叉树的遍历:

1、 前序遍历

         先访问 根结点 然后到 左子结点,一直下去,没有了 子结点 然后就退一层,若有 右结点 则访问 右子结点 在到它的 子结点。

        如上图 前序遍历的结果是:1、 2、 4、 5、 7、 8、 3、 6

2、 中序遍历

         先访问 左子结点 然后到其的 父结点, 在到 右子结点 的左子结点 ,最后到右结点。

         注:先访问 根结点 的 左结点树, 然后到 根结点, 最后到 右子结点。

        如上图 中序遍历的结果是:4、 2、 7、 8 、5、 1、 3、 6

3、 后序遍历

         先从 左子结点 的底部一直网上访问,遇到其 父结点 则先访问其 右子结点,然后一直网上访问最后访问父结点。

         如图 后序遍历的结果是:4、 8、 7、 5、 2、 6、 3、 1

4、 层次遍历

         一层一层的遍历。

         如上图 层次遍历的结果是:1、 2、 3、 4、 5、 6、 7、 8

 

 

迟些回来补充。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值