第三部分—数据结构与算法基础_4. 树和二叉树

本文介绍了树的基本概念,包括树的定义、结构特点和相关术语。接着详细讲解了二叉树的概念,强调了二叉树的特性,并列举了二叉树的几种基本形态如满二叉树和完全二叉树。此外,文章讨论了二叉树的表示方法,如二叉链表示法和三叉链表表示法,并阐述了二叉树的遍历方法,包括先序、中序和后序遍历。最后,提出了二叉树编程实践中的常见问题,如遍历、计算叶子节点数量、计算树的高度以及复制二叉树。
摘要由CSDN通过智能技术生成

4.1树的基本概念

 

 

  • 树的定义:

由一个或多个(n≥0)结点组成的有限集合T,有且仅有一个结点称为根(root),当n>1时,其余的结点分为m(m≥0)个互不相交的有限集合T1,T2,…,Tm。每个集合本身又是棵树,被称作这个根的子树 。

  • 树的结构特点
    1. 非线性结构,有一个直接前驱,但可能有多个直接后继(1:n)
    2. 树的定义具有递归性,树中还有树。
    3. 树可以为空,即节点个数为0。
  • 若干术语(红色要重点掌握)
    1.  à 即根结点(没有前驱)
    2. 叶子 à 即终端结点(没有后继)
    3. 森林 à 指m棵不相交的树的集合(例如删除A后的子树个数)
    4. 有序树 à 结点各子树从左至右有序,不能互换(左为第一)
    5. 无序树 à 结点各子树可互换位置。
    6. 双亲 à 即上层的那个结点(直接前驱) parent
    7. 孩子 à 即下层结点的子树 (直接后继) child
    8. 兄弟 à 同一双亲下的同层结点(孩子之间互称兄弟)sibling
    9. 堂兄弟 à 即双亲位于同一层的结点(但并非同一双亲)cousin
    10. 祖先 à 即从根到该结点所经分支的所有结点
    11. 子孙 à 即该结点下层子树中的任一结点
    12. 结点 à 即树的数据元素                                              
    13. 结点的度 à 结点挂接的子树数(有几个直接后继就是几度)
    14. 结点的层次 à 从根到该结点的层数(根结点算第一层)          
    15. 分支结点 à 除树根以外的结点(也称为内部结点)
    16. 树的度 à 所有结点度中的最大值(Max{各结点的度})        
    17. 树的深度(或高度) à 指所有结点中最大的层数(Max{各结点的层次})

上图中的结点数= 13,树的度= 3,树的深度= 4

4.2二叉树概念

4.2.1二叉树基本概念

  • 定义:

n(n≥0)个结点的有限集合,由一个根结点以及两棵互不相交的、分别称为左子树和右子树的二叉树组成

  • 逻辑结构:

一对二(1:2)

  • 基本特征:
    1. 每个结点最多只有两棵子树(不存在度大于2的结点);
    2. 左子树和右子树次序不能颠倒(有序树)。
  • 二叉树性质
    1. 性质1: 在二叉树的第i层上至多有2^(i-1)个结点(i>0)
    2. 性质2: 深度为k的二叉树
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值