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

数据结构之二叉树(1)

数据结构之二叉树(1)

  • 1.树的概念与结构
  • 2.树的相关术语
  • 3.树的分类
    • 3.1满二叉树
    • 3.2完全二叉树

树是另一种形式的海。
在数据结构中,也有树这个东西。

1.树的概念与结构

在前面的数据机构中,我们学习的都是线性表。而树是一种非线性的数据结构,它是由n个有限结点组成的一个具有层次关系的集合。顾名思义,它看起来像一颗倒过来的树。也就是根朝上,而叶朝下。
在这里插入图片描述
每棵树都有一个根结点。
除根结点外,其余结点被分成多个互不相交的集合。每个集合又是一颗子树。每颗子树都有一个根结点,可以有0个或多个后继。所以树是递归定义的。
树的一些特性:

  • 子树是不相交的。
  • 除了根结点,每个结点有且仅有一个父结点。
  • 一个N个结点的树有N-1条边。

2.树的相关术语

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.树的分类

在这里插入图片描述
在树形结构中,我们最常⽤的就是⼆叉树,⼀棵⼆叉树是结点的⼀个有限集合,该集合由⼀个根结点加上两棵别称为左⼦树和右⼦树的⼆叉树组成或者为空。
二叉树具有以下特性:

  • ⼆叉树不存在度⼤于 2 的结点
  • ⼆叉树的⼦树有左右之分,次序不能颠倒,因此⼆叉树是有序树
    在这里插入图片描述
    对于任意的⼆叉树都是由以下⼏种情况复合⽽成的:
    1.空树
    2.只有根结点
    3.只有左子树或右子树
    4.左右子树均存在

3.1满二叉树

⼀个⼆叉树,如果每⼀个层的结点数都达到最⼤值,则这个⼆叉树就是满⼆叉树。
在这里插入图片描述
假设二叉树的高度为k,则第k层节点个数为2^(k-1)
则满二叉树总的结点个数:2^0 + 2^1 +2^3 +… +2^(k-1)= 2^k - 1(等比数列求和公式)
若规定根结点的层数为1,具有n个结点的满二叉树的深度为h=log2(n+1)

3.2完全二叉树

概念:棵深度为k的有n个结点的二叉树,对树中的结点按从上至下、从左到右的顺序进行编号,如果编号为i(1≤i≤n)的结点与满二叉树中编号为i的结点在二叉树中的位置相同,则这棵二叉树称为完全二叉树。
在这里插入图片描述
完全二叉树是由满二叉树引出来的。
特性:

  • 除了最后一层,其他每层结点个数都达到最大
  • 结点从左到右依次排列

可以说满二叉树包含于完全二叉树。

主页还有更多优质内容OvO

http://www.xdnf.cn/news/1476955.html

相关文章:

  • STM32-----SPI
  • JUC、JVM八股补充
  • YOLOv8 在 Intel Mac 上的 Anaconda 一键安装教程
  • JBoltAI:赋能AI数智化升级的Java级引擎——深入解析企业级AI开发框架的核心能力与行业价值
  • 待定系数法分解分式
  • 后端(JDBC)学习笔记(CLASS 1):基础篇(一)
  • VBA之Excel应用第四章第七节:单元格区域的整行或整列扩展
  • 进阶向:密码生成与管理工具
  • 【PCIe EP 设备入门学习专栏 -- 8.1.3 PCIe EP AXI Bridge Module】
  • 发布vue项目、nginx配置及问题场景(history)
  • 服务器内存和普通计算机内存在技术方面有什么区别?
  • 前端入门——案例一:登录界面设计(html+css+js)
  • 【xss基本介绍】
  • 风电塔筒有毒有害气体监测控制系统
  • Maimo-AI驱动的行业研究工作平台
  • 理想汽车智驾方案介绍 4 World model + 强化学习重建自动驾驶交互环境
  • PostgreSQL与Greenplum常见连接客户端
  • 详解 Java 中的 CopyOnWriteArrayList
  • [光学原理与应用-420]:非线性光学 - 线性思维与非线性思维
  • kafka集群的安装与部署
  • 多种同类型日志采集中,字段归一化处理方案
  • Zynq设备与电脑相连方式
  • 阿里云对象存储OSS的使用
  • 【ComfyUI】深度 ControlNet 深度信息引导生成
  • 从Java全栈到Vue3实战:一次真实面试中的技术探索
  • MATLAB2025-安装Embedded Code Support Pacjage for STM32 Processors
  • 07-任务调度器的挂起和恢复
  • 【golang长途旅行第38站】工厂模式
  • 【Linux基础】Linux系统管理:GPT分区实践详细操作指南
  • 深度学习--自然语言预处理--- Word2Vec