当前位置: 首页 > 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.xdnf.cn/news/1369837.html

相关文章:

  • nginx-负载均衡
  • C++工程实战入门笔记4-函数(一)
  • WeakAuras Lua Script ICC (BarneyICC) Simplified Chinese [Mini]
  • 深入了解linux系统—— 线程互斥
  • ArcGIS学习-11 实战-商场选址
  • 洛谷 P12332 题解
  • 如何利用ArcGIS探究环境与生态因子对水体、土壤、大气污染物等影响实践技术
  • pytorch_grad_cam 库学习笔记—— Ablation-CAM 算法的基类 AblationCAM 和 AblationLayer
  • 如何避免频繁切换npm源
  • pytorch-利用letnet5框架深度学习手写数字识别
  • Vue2(七):配置脚手架、render函数、ref属性、props配置项、mixin(混入)、插件、scoped样式
  • 深入解析交换机端口安全:Sticky MAC的工作原理与应用实践
  • 机器视觉学习-day03-灰度化实验-二值化和自适应二值化
  • 【C++】智能指针底层原理:引用计数与资源管理机制
  • 深度学习篇---LeNet-5网络结构
  • 病理软件Cellprofiler使用教程
  • vue2 和 vue3 生命周期的区别
  • 一篇文章拆解Java主流垃圾回收器及其调优方法。
  • LeetCode-22day:多维动态规划
  • 代码随想录Day62:图论(Floyd 算法精讲、A * 算法精讲、最短路算法总结、图论总结)
  • vue2和vue3的对比
  • TensorFlow 深度学习:使用 feature_column 训练心脏病分类模型
  • Day3--HOT100--42. 接雨水,3. 无重复字符的最长子串,438. 找到字符串中所有字母异位词
  • CentOS 7 服务器初始化:从 0 到 1 的安全高效配置指南
  • 肌肉力量训练
  • 木马免杀工具使用
  • 产品经理操作手册(3)——产品需求文档
  • 全链路营销增长引擎闭门会北京站开启倒计时,解码营销破局之道
  • 构建生产级 RAG 系统:从数据处理到智能体(Agent)的全流程深度解析
  • 书生大模型InternLM2:从2.6T数据到200K上下文的开源模型王者