当前位置:网站首页>二叉树的基本概念和性质
二叉树的基本概念和性质
2022-07-07 16:50:00 【Brant_zero】
目录
1.3 树的表示
一、树的概念和结构
1.1 树的概念
树是一种非线性的数据结构,他是由n(n>=0)个有限结点组成的一个具有层次关系的集合。叫做树是因为其结构像一颗倒挂的树,即根朝上,而叶朝下。
- 有一个特殊的节点,称为根节点,根结点没有前驱结点。
- 除了根节点,其余结点被分成M(M>0)个互不相交的集合T1、T2……Tn,其中每一个集合Ti(1 <= i <= n)又是一颗树结构与树类似的子树。每棵子树的根结点有且只有一个前驱,可以有0个或多个后继结点。
- 因此,树是递归定义的。

注意:树形结构中,子树之间不能有交集,否则就不是树形结构,而应是图型的数据结构。
1.2 树的重要概念

重要:
节点的度:一个节点含有的子树的个数称为该节点的度;如上图:A的度为6。
叶节点或终端节点:度为0的节点称为叶节点;如上图:B、C、H、I……等为叶节点。
双亲节点或父节点:若一个节点含有子节点,则这个节点称为其子节点的父节点;如上图:A是B的父节点。
孩子节点或子节点:一个节点含有的子树的根节点称为节点的子节点;如上图:B是A的孩子节点。
树的高度或深度:树种节点的最大层次;如上图:树的高度为4。
节点的祖先:从根到该节点所经分支上的所有节点;如上图:A是所有节点的祖先。
子孙:从某节点为根的子树种任一节点都称之为该节点的子孙。如上图:所有节点都是A的子孙。
树的度:一颗树中,最大节点的度称之为树的度;如上图:树的度为6。
其次:
非终端节点或分支节点:度不为0的节点;如上图:D、E、F、G……等节点为分支节点。
兄弟节点:具有相同父节点的节点称为兄弟节点;如上图:B、C是兄弟节点。
节点的层次:从根开始定义起,根为第一层,根的子节点为第二层,以此类推;
堂兄弟节点:双亲在同一层的节点互为堂兄弟;如上图:H、I互为堂兄弟节点。
森林:由m(M>0)棵互不相交的树的集合称为森林。
1.3 树的表示
树结构相对于线性表就比较复杂了,既要保存值域、也要保存结点和结点之间的关系,实际中树有很多种表示方法,这里了解一下最常用的孩子兄弟表示法即可。
typedef int DataType;
struct Node
{
struct Node* firstChild1; // 第一个孩子结点
struct Node* pNextBrother; // 指向其下一个兄弟结点
DataType data; // 结点中的数据域
};二、 二叉树概念及结构
2.1 二叉树的概念
一颗二叉树是结点的一个有限集合,该集合:
- 或则为空
- 由一个根结点加上两棵别称为左子树和右子树的二叉树组成。

从上图可以看出:
- 二叉树不存在度大于2的结点。
- 二叉树的子树有左右之分,次序不能颠倒,因此二叉树是有序树。
2.2 特殊的二叉树
- 满二叉树:一个二叉树,如果每一层的结点树都达到最大值,啧啧换个二叉树就是满二叉树。也就是说,如果一个二叉树的层数为K,且结点总数是
-1,则它就是满二叉树。
- 完全二叉树:完全二叉树是效率很高的数据机构,完全二叉树是由满二叉树而引出来的。对于深度为K的,有N个结点的二叉树,当且仅当其每一个结点都与深度为K的满二叉树中编号从1至n的结点——对应时称为完全二叉树。(第n层不满但是从左到右为连续,n-1层全满),要注意的是满二叉树是一种特殊的完全二叉树。

2.3 二叉树的性质
重要:
- 若规定根结点的层数为1,则一颗非空二叉树的第i层上最多有
个结点。
- 若规定根结点的层数为1,则深度为h的二叉树的最大节点是
.
- 对任何一颗二叉树,如果度为0其叶节点个数为n0,
- 若规定根节点的层数为1,具有n的结点的满二叉树的深度,
.
- 对于具有n个结点的完全二叉树,如果按照从上至下从左至右的数组顺序对所有节点从0开始编号,则对于序号为i的结点有:
- 若i>0,i位置节点的双亲序号:(i-1)/2; i=0, i为根结点编号,无双亲结点
- 若2i+1<n , 左孩子序号:2i+1, 2i+1>=n否则无左孩子
- 若2i+2<n , 右孩子序号:2i+2,2i+2>=n 否则无右孩子
2.4 二叉树练习题
1. 某二叉树共有 399 个结点,其中有 199 个度为 2 的结点,则该二叉树中的叶子结点数为 ()A 不存在这样的二叉树B 200C 198D 199
2.下列数据结构中,不适合采用顺序存储结构的是 ()A 非完全二叉树B 堆C 队列D 栈
3.在具有 2n 个结点的完全二叉树中,叶子结点个数为 ()A nB n+1C n-1D n/2
4.一棵完全二叉树的节点数位为531个,那么这棵树的高度为 ()A 11B 10C 8D 12
5.一个具有767个节点的完全二叉树,其叶子节点个数为()A 383B 384C 385D 386
答案:
第一题:
第二题: B
第三题:
第四题:
第五题:
本篇到此就结束了,其中重点在于树的概念和二叉树的性质,这些是理解二叉树的精髓,也是考试的出题点,希望大家可以理解。
下篇博客会带来链式二叉树的基本结构和功能,希望大家持续关注。
边栏推荐
- [sword finger offer] 59 - I. maximum value of sliding window
- 备份阿里云实例-oss-browser
- 体总:安全有序恢复线下体育赛事,力争做到国内赛事应办尽办
- Five network IO models
- 卖空、加印、保库存,东方甄选居然一个月在抖音卖了266万单书
- Introduction of common API for socket programming and code implementation of socket, select, poll, epoll high concurrency server model
- 用存储过程、定时器、触发器来解决数据分析问题
- Nunjuks template engine
- Afghan interim government security forces launched military operations against a hideout of the extremist organization "Islamic state"
- Kubernetes DevOps CD工具对比选型
猜你喜欢

强化学习-学习笔记8 | Q-learning

【软件测试】从企业版BOSS直聘,看求职简历,你没被面上是有原因的

上市十天就下线过万台,欧尚Z6产品实力备受点赞

Static routing configuration

gsap动画库

Classification of regression tests
![Kirk borne's selection of learning resources this week [click the title to download directly]](/img/df/98aa3edf0a70b870684963d52e7c72.png)
Kirk borne's selection of learning resources this week [click the title to download directly]

持续测试(CT)实战经验分享

Simple configuration of single arm routing and layer 3 switching

伺服力矩控制模式下的力矩目标值(fTorque)计算
随机推荐
Download, installation and development environment construction of "harmonyos" deveco
[C language] string function
What are the financial products in 2022? What are suitable for beginners?
Learn to make dynamic line chart in 3 minutes!
[demo] circular queue and conditional lock realize the communication between goroutines
企业展厅设计中常用的三种多媒体技术形式
[network attack and defense principle and technology] Chapter 4: network scanning technology
直播预约通道开启!解锁音视频应用快速上线的秘诀
国内的软件测试会受到偏见吗
nest.js入门之 database
[trusted computing] Lesson 11: TPM password resource management (III) NV index and PCR
Recommend free online SMS receiving platform in 2022 (domestic and foreign)
Datasimba launched wechat applet, and datanuza accepted the test of the whole scene| StartDT Hackathon
同消费互联网的较为短暂的产业链不同,产业互联网的产业链是相当漫长的
[principles and technologies of network attack and Defense] Chapter 5: denial of service attack
Win11C盘满了怎么清理?Win11清理C盘的方法
[principle and technology of network attack and Defense] Chapter 1: Introduction
[sword finger offer] 59 - I. maximum value of sliding window
Kubernetes DevOps CD工具对比选型
Year SQL audit platform


-1,则它就是满二叉树。
个结点。
.
.


