当前位置: 首页 > news >正文

C/C++ 数据结构 —— 树(2)

在这里插入图片描述


在这里插入图片描述


🎁个人主页:工藤新一¹

🔍系列专栏:C++面向对象(类和对象篇)

​ 🌟心中的天空之城,终会照亮我前方的路

🎉欢迎大家点赞👍评论📝收藏⭐文章


文章目录

  • 二叉树
    • 一、二叉树的概念与结构
    • 二、几种常见的树
      • 2.1二叉树、满二叉树
      • 2.2完全二叉树
      • 2.3二叉排序树
      • 2.4平衡二叉树
    • 三、二叉树的性质

二叉树

一、二叉树的概念与结构

  • 树是一种递归的结构

  • 在树形结构中,我们最常用的就是二叉树一颗二叉树的节点是一个有限的集合,该集合由一个根节点,再加上两颗别称为左子树右子树的二叉树组成


在这里插入图片描述


二、几种常见的树

2.1二叉树、满二叉树

  • 二叉树不存在 “度” 大于 2 的节点

  • 二叉树的子树一定有序(有左右之分),次序不能颠倒,因此二叉树是一颗有序树

在这里插入图片描述

  • 满二叉树(理想化的二叉树): 二叉树的每一层的节点达到最大值,也就是说,如果一个二叉树的层数K ,那么其总节点数是 2k - 1,则其就为满二叉树

在这里插入图片描述


在这里插入图片描述

  • 满二叉树:第 K 层节点个数是 2k-1

2.2完全二叉树

  • 满二叉树完全二叉树中的子集满二叉树是(特殊的)完全二叉树),其是一个效率很高的数据结构

在这里插入图片描述

对于深度为 K ,有 n 个节点的二叉树,当且仅当其每一个节点都与深度为 K 的满二叉树中编号从 1n 的节点一 一对应时(节点从左到右依次排列)称之为完全二叉树

在这里插入图片描述

  • 最后一层节点个数未达到最大:完全二叉树
  • 最后一层节点个数达到最大:即是完全二叉树,又是满二叉树

在这里插入图片描述


在这里插入图片描述


  • 完全二叉树

在这里插入图片描述


  • 非完全二叉树

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传


外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传


2.3二叉排序树

常用于非重复元素的排序、搜索;对二叉排序树进行左中右遍历可以获取到有序的元素串

在这里插入图片描述


在这里插入图片描述


2.4平衡二叉树

在这里插入图片描述


注意:对于任意的二叉树都是由下列几种情况复合而成

在这里插入图片描述


三、二叉树的性质

二叉树 中,叶子节点个数 == 分支节点个数 + 1

在这里插入图片描述


在这里插入图片描述


完全二叉树中,最多只有一个度为1的节点: n1 = 0 或 n1 = 1;

在这里插入图片描述

因此,给定节点个数 n,即可求得 n0 n1 n2(因为 完全二叉树特点:n1为定值)


🌟 各位看官好,我是工藤新一¹呀~

🌈 愿各位心中所想,终有所致!

http://www.dtcms.com/a/352173.html

相关文章:

  • Leetcode 1049. 最后一块石头的重量 II 动态规划-01背包
  • LeetCode-22day:多维动态规划
  • Docker详细学习
  • 税务岗位职场能力解析与提升路径规划
  • 固定资产管理系统核心模块拆解:全流程管理逻辑
  • 如何利用ArcGIS探究环境与生态因子对水体、土壤、大气污染物等影响
  • 【服务器】Apache Superset MCP接入与使用
  • postman使用
  • golang 8函数
  • pytorch_grad_cam 库学习笔记——基类BaseCAM
  • 使用 Docker、Jenkins、Harbor 和 GitLab 构建 CI/CD 流水线
  • Unity:游戏性能优化!之把分散在各个游戏角色GameObject上的脚本修改为在一个脚本中运行。这样做会让游戏运行更高效?
  • Caddy + CoreDNS 深度解析:从功能架构到性能优化实践(下)
  • 【BurpSuite 插件开发】实战篇(十六-终章)性能优化实践:线程管理到正则匹配的全方位提升
  • Python爬虫实战:研究开源的高性能代理池,构建电商数据采集和分析系统
  • STM32物联网项目---ESP8266微信小程序结合OneNET平台MQTT实现STM32单片机远程智能控制---云平台篇(一)
  • 深度学习——神经网络(PyTorch 实现 MNIST 手写数字识别案例)
  • 数据集数量与神经网络参数关系分析
  • Vibe 编程:下一代开发者范式的深度解析
  • 扩展现有的多模块 Starter
  • 2025本地部署overleaf
  • 售价3499美元,英伟达Jetson Thor实现机器人与物理世界的实时智能交互
  • 09-SpringBoot入门案例
  • 嵌入式学习笔记-LINUX系统编程阶段-DAY01脚本
  • 第四章:条件判断
  • VueFlow画布可视化——js技能提升
  • 安全测试、web探测、httpx
  • vue2和vue3的对比
  • Android 属性系统
  • 蓝思科技中报:深耕业务增量,AI硬件打开想象空间