数据结构:二叉树(二)·(重点)

news/2025/3/25 22:13:12/

前言

文章结尾有彩蛋哦~~

前面我们已经知道了什么是是⼀种⾮线性的数据结构,它是由 n ( n>=0 ) 个有限结点组成⼀个具有层次关系的集合。

那么这篇文章就让我们来了解一下什么是二叉吧!

二叉的概念与结构

概念:

形结构中,我们最常⽤的就是⼆叉⼀棵⼆叉结点的⼀个有限集合,该集合由⼀个根结点 加上两棵别称为左⼦和右⼦的⼆叉组成或者为空。

如图:

 如图:

 从上面两幅图片中我想我们已经大致了解了什么是二叉了。

结构:

⼆叉不存在度⼤于 2 的结点 ; ⼆叉的⼦有左右之分,次序不能颠倒,因此⼆叉是有序。(注意:对于任意的⼆叉都是由以下⼏种情况复合⽽成的)

如图:

 特殊的二叉

满二叉

概念:

⼀个⼆叉,如果每⼀个层的结点数都达到最⼤值,则这个⼆叉就是满⼆叉。也就是说,如果⼀ 个⼆叉层数为 K ,且结点总数是2^k-1 ,则它就是满⼆叉

如图:

完全二叉

概念:

完全⼆叉是效率很⾼的数据结构,完全⼆叉是由满⼆叉⽽引出来的。对于深度为 K 的,有 n 个 结点的⼆叉当且仅当其每⼀个结点都与深度为K的满⼆叉中编号从 1 ⾄ n 的结点⼀⼀对应时称 之为完全⼆叉。(注意:满⼆叉是⼀种特殊的完全⼆叉。)(当中标红的文字可能比较难以理解,我们可以这样来理解:你可以这样理解就是说从左到右编号,一一对应,不能有空的结点残留,就是完全二叉,向左对齐,主要是这个意思

如图:

二叉的性质

1.若规定根结点的层数为 1 ,则⼀棵⾮空⼆叉的第i层上最多有 2^i-1个结点 ;

2.若规定根结点的层数为 1 ,则深度为 h 的⼆叉最⼤结点数是2^h-1 ;

3.若规定根结点的层数为 1 ,具有 n 个结点的满⼆叉的深度( h = log2 (n+1) (log以2为底, n+1 为对数)

这篇文章也是二叉的基础部分,比较简单!!!

水韵澄心, 霜华照影!!!

要加油哦,不论有多困难!!!


http://www.ppmy.cn/news/1582559.html

相关文章

2025年01月02日浙江鼎永前端面试

目录 webpack 和 vite 区别react fiber 架构vue diff 算法react diff 算法hooks 源码垂直水平布局项目介绍单点登录大文件上传微前端 1. webpack 和 vite 区别 Webpack 和 Vite 是两种不同的前端构建工具,它们在设计理念、性能表现和使用场景上存在显著差异。以下…

最近比突出的DeepSeek与ChatGPT的详细比较分析

引言 随着人工智能技术的快速发展,自然语言处理(NLP)领域涌现出了许多强大的模型和工具。DeepSeek和ChatGPT作为其中的代表,各自在特定领域和应用场景中展现了卓越的性能。本文将从多个维度对DeepSeek和ChatGPT进行比较分析&…

【Spring IoC DI】深入解析 IoC & DI :Spring框架的核心设计思想和 IoC 与 DI 的思想和解耦优势

Spring IoC&DI 本节目标 了解Spring, Spring MVC, Spring Boot 之间的联系及区别掌握IoC&DI的概念以及写法 IoC & DI 入门 在前面的章节中,我们学习了Spring Boot和Spring MVC的开发,可以完成一些基本功能的开发了,但是什么是S…

Rust基础语法

文章目录 Rust输出到命令行关于变量常量vs不可变变量 数据类型整数浮点数bool字符类型复合类型 注释 Rust输出到命令行 输出到命令行主要可以使用println!()和print!() 1. 这两个都有!是因为他们并非是函数,而是宏,具体我们以后再介绍,普通函…

Linux探秘坊-------9.进程控制

1.进程终止 1.终止情况 终止情况只有三种: 2.终止方式 从main函数返回 exit(n)的参数n就是退出码!!!!!!!!!!&#xf…

k8s搭建kube-prometheus

后续再补一个k8s集群搭建的博客,从0开始搭建k8s集群。使用kube-prometheus非常方便,主要问题只在于拉取镜像。除了拉取镜像外其他时间5分钟即可。耐心等待拉取镜像。 一.kube-prometheus简介 kube-prometheus 是一个专为 Kubernetes 设计的开源监控解决…

网络华为HCIA+HCIP 广域网技术

目录 PPP协议 PPP链路建立流程 PPP链路接口状态机 LCP报文格式 LCP协商过程-正常协商 LCP协商过程-参数不匹配(MRU) LCP协商过程-参数不识别 PPP认证模式 - PAP PPP认证模式 - CHAP NCP协商 - 静态IP地址协商 NCP协商 - 动态IP地址协商 P…

基于改进蛙跳算法的电动汽车有序充电策略研究

摘要:本文针对电动汽车无序充电对电网造成的影响,提出了一种基于改进蛙跳算法的有序充电策略。该策略通过引入动态惯性权重和自适应分组机制,优化了传统蛙跳算法的性能。建立了以超小化电网负荷波动、用户充电成本和电池损耗为目标的有序充电模型&#x…