第 1 章之:二叉树特性

news/2024/5/20 10:47:59/文章来源:https://blog.csdn.net/Leeeoplod/article/details/104274327

声明:文章为博主原创,转载请联系博主。文章若有错误和疏漏之处,还望大家不吝赐教!
                                               第一章:数据结构与算法基础
===========================================================---------------------------
本章重点内容为:
1.数据结构基础与线性表:下三角矩阵元素存储位置计算、队列的特性应用、栈的特性应用一二三四
2.广义表:无
3.树:二叉树的特性、二叉树的遍历、哈夫曼树
4.图:边与顶点的关系
5.查找与排序:折半查找、基数排序算法以及这些算法的性能分析
6.算法基础知识:时间复杂度分析
===========================================================
本篇文章主要介绍二叉树的特性

一.概念介绍
===========================================================---------------------------
首先我们来简单了解一下什么是二叉树。在计算机科学中,二叉树是每个结点最多有两个子树的树结
。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用于实现二叉
查找树和二叉堆。

相关术语:
树的结点(node):包含一个数据元素及若干指向子树的分支;
孩子结点(child node):结点的子树的根称为该结点的孩子;
双亲结点:B 结点是A 结点的孩子,则A结点是B 结点的双亲;
兄弟结点:同一双亲的孩子结点; 堂兄结点:同一层上结点;
祖先结点: 从根到该结点的所经分支上的所有结点
子孙结点:以某结点为根的子树中任一结点都称为该结点的子孙
结点层:根结点的层定义为1;根的孩子为第二层结点,依此类推;
树的深度:树中最大的结点层
结点的度:结点子树的个数
树的度: 树中最大的结点度。
叶子结点:也叫终端结点,是度为 0 的结点;
分枝结点:度不为0的结点;
有序树:子树有序的树,如:家族树;
无序树:不考虑子树的顺序;

二叉树的分类:
===========================================================---------------------------
满二叉树:除了叶结点外每一个结点都有左右子叶且叶子结点都处在最底层,即:一棵深度为k,且
                  有2^k-1个结点的二叉树,称为满二叉树。
完全二叉树:若设二叉树的高度为h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第
                      h层有叶子结点,并且叶子结点都是从左到右依次排布,这就是完全二叉树。简单理解:
                      把满二叉树的最后一层叶子结点从右向左依次去掉若干个,得到的就是完全二叉树。有
                      一点需要注意:满二叉树也属于完全二叉树。
平衡二叉树:平衡二叉树又被称为AVL树(区别于AVL算法),是一棵二叉排序树,且具有以下性质:
                      它是一棵空树,或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都
                      是一棵平衡二叉树。

图示:

a:空二叉树
b:只有一个根节点的二叉树
c:只有左子树的二叉树
d:只有右子树的二叉树
e:完全二叉树,其中左侧的是完全二叉树中的满二叉树

二. 二叉树性质
(1) 在非空二叉树中,第i层的结点总数不超过,i>=1;
(2) 深度为h的二叉树最多有 个结点(h>=1),最少有h个结点;
(3) 对于任意一棵二叉树,如果其叶结点数为N0,而度数为2的结点总数为N2,则N0=N2+1;
(4) 具有n个结点的完全二叉树的深度为 (注:[ ]表示向下取整)
(5) 有N个结点的完全二叉树各结点如果用顺序方式存储,则结点之间有如下关系:
      若I为结点编号则 如果I>1,则其父结点的编号为I/2;
      如果2*I<=N,则其左孩子(即左子树的根结点)的编号为2*I;若2*I>N,则无左孩子;
      如果2*I+1<=N,则其右孩子的结点编号为2*I+1;若2*I+1>N,则无右孩子。
(6) 给定N个结点,能构成h(N)种不同的二叉树。h(N)为卡特兰数的第N项。h(n)=
(7) 设有i个枝点,I为所有枝点的道路长度总和,J为叶的道路长度总和J=I+2i

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_218353.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于麻雀算法二维oust图像分割算法研究附matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;修心和技术同步精进&#xff0c;matlab项目合作可私信。 &#x1f34e;个人主页&#xff1a;Matlab科研工作室 &#x1f34a;个人信条&#xff1a;格物致知。 更多Matlab仿真内容点击&#x1f447; 智能优化算法 …

期刊|认知科学领域期刊《Trends in Cognitive Sciences》

Hello&#xff0c;大家好&#xff01; 这里是壹脑云科研圈&#xff0c;我是Ns&#xff5e; 今天我们介绍的是爱思维尔(Elsevier)旗下细胞出版社&#xff08;cell press&#xff09;发行的关于认知科学领域的期刊&#xff1a;Trends in Cognitive Sciences。 1 期刊简介 基本…

mysql之给字符串加索引

文章目录前言长字段加索引前缀索引对覆盖索引的影响合理的使用前缀索引总结前言 之前的文章介绍了主键索引和唯一索引的区别&#xff0c;也介绍了主键索引和唯一索引在不同业务场景下的区别。今天我们继续介绍&#xff0c;普通索引怎么合理的使用。 长字段加索引 这里我们就…

Spring6.0全新发布,快来看看

Spring6.0全新发布&#xff0c;快来看看 Spring Framework 6.0 发布了首个 RC 版本。 翻译后页面(有点好笑)&#xff1a; On behalf of the team and everyone who has contributed, I am pleased to announce that Spring Framework is available now.6.0.0-RC2 Spring Frame…

零信任如何给为企业的数字资源保驾护航?

零信任安全最早由著名研究机构Forrester的首席分析师约翰.金德维格在2010年提出。 零信任安全针对传统边界安全架构思想进行了重新评估和审视&#xff0c;并对安全架构思路给出了新的建议。 零信任模型是什么 零信任是一种基于严格身份验证的网络安全架构。、 在该架构下&am…

【SpringBoot笔记12】SpringBoot框架实现文件上传和文件下载

这篇文章&#xff0c;主要介绍如何使用SpringBoot框架实现文件上传和文件下载。 目录 一、SpringBoot文件上传 1.1、引入依赖 1.2、编写文件上传页面 1.3、编写文件上传代码 &#xff08;1&#xff09;MultipartFile对象 &#xff08;2&#xff09;ResourceUtils工具类 …

音频拼接在一起怎么做?这篇文章来告诉你

随着互联网的发展&#xff0c;很多优质歌曲都纷纷地呈现在大家眼前&#xff0c;而将不同的音乐合并在一起&#xff0c;并且放入视频里&#xff0c;也是别有一番风味&#xff0c;那么许多人会好奇音频如何拼接在一起呢?下面就为大家分享两个好用的方法&#xff0c;只要一点时间…

【C++】使用对象自动管理指针(用到运算符重载)

文章目录1. 首先设计整型类&#xff1a;class Int普通指针2. 设计一个Object类&#xff0c;并设计Int类型的指针。那如何获取Int类型的值呢&#xff1f;1. 首先设计整型类&#xff1a;class Int class Int { private:int value; public:Int(int x 0) :value(x){cout <<…

Springbootg整合validation整合

坚持年年写博客&#xff0c;不能断了&#xff0c;所以粘贴平时写的一份笔记吧 一、简介 校验参数在以前基本都是使用大量的if/else&#xff0c;稍微方便一点的可以使用反射自定义注解的形式&#xff0c;但是复用性不是很好&#xff0c;并且每个人对于的自定义注解有着自己的使…

Java基础-任务执行服务

今天小编带领大家一起来探索Java中的任务执行服务 关于任务执行服务&#xff0c;我们介绍了&#xff1a; 任务执行服务的基本概念。 主要实现方式&#xff1a;线程池。 定时任务。 &#xff08;1&#xff09;基本概念 任务执行服务大大简化了执行异步任务所需的开发&…

算法 - 最少交换次数来组合所有的 1 II

目录 题目来源 题目描述 示例 提示 题目解析 算法源码 题目来源 2134. 最少交换次数来组合所有的 1 II - 力扣&#xff08;LeetCode&#xff09; 题目描述 交换定义为选中一个数组中的两个 互不相同 的位置并交换二者的值。 环形数组是一个数组&#xff0c;可以认为 第…

第五章:乱序执行

1.概念 指令在执行时常常因为一些限制而等待。例如&#xff0c;MEM单元访问的数据不在cache中,需要从外部存储器中取&#xff0c;这个过程通常需要几十、几百个Cycle&#xff0c;如果是顺序执行的内核,后面的指令都要等待&#xff0c;而如果处理器足够智能&#xff0c;就可以先…

修改数组(秋季每日一题 31)

给定一个长度为 nnn 的正整数数组 a1,a2,…,ana_1,a_2,…,a_na1​,a2​,…,an​。 你可以任意改变其中任意元素的值。 但是&#xff0c;改变后的元素的值仍需是正整数。 将一个元素的值从 aaa 变为 bbb 所需要付出的代价为 ∣a−b∣|a−b|∣a−b∣。 对于一个正整数 ttt&am…

Elasticsearch 查询详解

1 数据准备 PUT student_index {"settings": {"number_of_shards": 1,"number_of_replicas": 0},"mappings": {"properties": {"birthday": {"type": "date","format": "yyy…

AcmHelper -运行在本地的Acm帮手

AcmHelper 详见github 本地环境下的 Polygon , 但不止于 Polygon. 你可以 快速创建具有合理结构的题目文件夹指定 std , checker , validator , interactor使用不同语言完成不同部分 (cpp/py)使用额外的程序来测试数据的质量使用预制的数据生成器快速生成具有某些特征的数据…

Python爬虫|采集开源众包的悬赏任务,自动翻页

前言 现在互联网,有很多网站提供一些接单外派的形式,提供给有能力的人或者团队去接单。比如说,很多人熟悉的猪八戒,程序员客栈,CODING 码市,开源众包等等平台,相信很多同学也都知道。 如果要第一时间了解某个接单平台发布的第一手悬赏任务,选择爬虫也是非常不错的选择…

【路径规划】一种考虑COLREGs人工势场的船舶运动规划算法研究附matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;修心和技术同步精进&#xff0c;matlab项目合作可私信。 &#x1f34e;个人主页&#xff1a;Matlab科研工作室 &#x1f34a;个人信条&#xff1a;格物致知。 更多Matlab仿真内容点击&#x1f447; 智能优化算法 …

羧酸修饰Ag2S硫化银量子点,Ag2Se硒化银量子点,Ag2Te碲化银量子点,InP磷化铟量子点

羧酸修饰Ag2S硫化银量子点,Ag2Se硒化银量子点,Ag2Te碲化银量子点,InP磷化铟量子点 羧酸修饰Ag2S硫化银量子点 液一液界面制备近红外荧光Ag2S量子点 Ag:S量子点的制备过程如示意图2A和2B所示,通过向搅拌的硫前体水溶液中快速注人银前体油溶液,反应体系将迅速乳化形成大量液滴…

视频背景不好看?想要给视频里的人物抠出来换背景?教你轻松实现

我们经常能在抖音或者其他短视频平台上看见一些视频背景是经过抠换的&#xff0c;比较常见的是一些舞蹈视频&#xff0c;通过背景抠换&#xff0c;把原本平平无奇的背景换成了灯光特效&#xff0c;这就瞬间变得吸引人眼球了&#xff0c;视频也会变得更加具有特点。如果你也想发…

vlan高级特性super vlan

vlan高级特性super vlan vlan aggregation&#xff0c;vlan的聚合&#xff0c;聚合的目的是减少ip地址的浪费 正常情况将不同的vlan划分到不同的网段&#xff0c; 比如&#xff1a;vlan10–>192.168.1.0/24&#xff0c;vlan20—>192.168.2.0/24 但是如果一个网段只用了…