数据结构基础讲解(八)——树和二叉树专项练习(上)

本文数据结构讲解参考书目:

通过网盘分享的文件:数据结构  C语言版.pdf
链接: https://pan.baidu.com/s/159y_QTbXqpMhNCNP_Fls9g?pwd=ze8e 提取码: ze8e

数据结构基础讲解(七)——数组和广义表专项练习-CSDN博客

个人主页:樱娆π-CSDN博客


目录

树的定义

树的基本术语

树的基本操作

二叉树

二叉树的定义

二叉树的基本操作

二叉树的性质

理解满二叉树,完全二叉树,非完全二叉树

二叉树的存储结构

1.顺序存储

2.链式存储


 

由于这节内容较多,我将分两节来讲解

树的定义

树(Tree)是n(n>=0)个结点的有限集,它或为空树(n= 0); 或为非空树,对千非空树T

(1)有且仅有一个称之为根的结点;

(2)除根结点以外的其余结点可分为 m(m>0)个互不相交的有限集 Ti , T2 , …,几,其中每 一个集合本身又是一棵树,并且称为根的子树(SubTree)。

树的结构定义是一个递归的定义,即在树的定义中又用到树的定义,它道出了树的固有特性

树的基本术语

(1) 结点:树中的一个独立单元。包含一个数据元素及若于指向其子树的分支.

(2)结点的度:结点拥有的子树数称为结点的度。

(3)树的度:树的度是树内各结点度的最大值。

(4) 叶子: 度为 0 的结点称为叶子或终端结点。

(5) 非终端结点:度不为 0 的结点称为非终端结点或分支结点。除根结点之外,非终端结点 也称为内部结点。

(6)双亲和孩子:结点的子树的根称为该结点的孩子,相应地,该结点称为孩子的双亲。

(7) 兄弟:同一个双亲的孩子之间互称兄弟。

(8) 祖先:从根到该结点所经分支上的所有结点。

(9) 子孙:以某结点为根的子树中的任一结点都称为该结点的子孙。

(10) 层次:结点的层次从根开始定义起,根为 第一层,根的孩子为第二层。树中任一结点的 层次等千其双亲结点的层次加 1。

(11)堂兄弟:双亲在同 一层的结点互为堂兄弟

(12)树的深度:树中结点的最大层次称为树的深度或高度。

(13)有序树和无序树:如果将树中结点的各子树看成从左至右是有次序的(即不能互换), 则称该树为有序树,否则称为无序树。在有序树中最左边的子树的根称为第一个孩子,最右边的 称为最后一个孩子

(14)森林:是 m (m>0)棵互不相交的树的集合。对树中每个结点而言,其子树的集合即 为森林。由此,也可以用森林和树相互递归的定义来描述树

树的基本操作

基本操作 初始条件 操作结果
InitTree(&T) / 构造空树T
DestroyTree (&T) 树T存在 销毁树T
CreateTree(&T,definition) definition 给出树 T 的定义 按 definition 构造树 T
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

樱娆^_^

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值