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

自学嵌入式第二十五天:数据结构-队列、树

一、队列

        队列是只允许一段进行插入,另一端进行删除操作的线性表;

        允许插入的一端叫队尾,允许删除的一端叫对头;

        先进先出;

        用于解决速度不匹配(例如一快一慢),做缓冲用;

二、树

        1.树:有n个结点的有限集合,n=0时是空树;

        在任意非空树中:有且仅有一个根结点;n>1时又分几个互不相交子树;

        结点拥有子树的个数称谓为度;

        度为0的(最下面的)叫叶子结点,度不为0的(中间的)叫分支结点;

        度最大的结点的度数叫树的度;

        树的高度(或深度)从根开始,根为第一层,根的孩子为第二层;

        2.二叉树

        n个结点的有限集合,集合要么为空树,要么由一个根结点和两颗互不相交的二叉树组成;

        每个结点最多两个子树;左子树和右子树是有顺序的,次序不能颠倒;如果结点只有一个子树也要区分左右子树;

        斜树:假设所有结点都只有左子树的叫左斜树;

        满二叉树:所有分支都存在左右子树,叶子节点都在同一层;

        完全二叉树 :按层序编号的二叉树;

        特性:

        (1)在第i层最多有2的i-1次方(2^(i-1))个结点;

        (2)深度为k的二叉树最多有2的k次方-1个结点(2^k-1);

        (3)一个二叉树,如果有n0个叶子结点,度数为2的结点数为n0-1;

        (4)有n个结点的完全二叉树深度为(logn/long2)+1;

        3.树的层序遍历(广度遍历)

        4.树的深度遍历(前序,中序,后序)

                前序:根左右:先访问根,然后访问左,访问右;

                中序:左根右:从根开始(不访问),先访问左,再访问根,最后访问右;

                后序:左右根:从根开始(不访问),先访问左,再访问右,最后访问根;

        

        

        

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

相关文章:

  • 配电网重构优化:以减小网损为目标的智能算法实现
  • 20250822给荣品RD-RK3588开发板刷Rockchip原厂的Android14时点亮荣品的8寸屏
  • SN编码升级:从“制造标记”到“数字孪生身份证”
  • There are test failures. clean deploy 异常
  • [RestGPT] RestGPT智能体
  • Bluedroid vs NimBLE
  • 20.9 QLoRA微调实战:1.5B参数Whisper-large-v2在24GB显存实现中文语音识别,CER骤降50%!
  • 使用tauri打包cocos小游戏,并在抖音小玩法中启动,拿到启动参数token
  • ​Kubernetes 详解:云原生时代的容器编排与管理
  • python selenium+pytest webUI自动化基础框架
  • Java 18 新特性及具体应用
  • linux----进度条实现和gcc编译
  • 基于海光DCU平台的cube-studio软件适配
  • BurpSuite 1.4.07.jar 怎么使用?详细安装和抓包教程(附安装包下载)
  • 前端查漏补缺
  • DAY01:【DL 第一弹】深度学习的概述
  • 机器学习在量化中的应用
  • 【计算机网络】 IPV4和IPV6区别
  • 【虚拟化】磁盘置备方式的性能损耗对比
  • MPLS原理
  • 基于SamGeo模型和地图客户端的实时图形边界提取
  • Rust Web开发指南 第一章
  • 计算机网络:TCP、UDP
  • 【Dubbo】高性能的 RPC
  • RK3506 开发板:重塑嵌入式系统领域的新标杆
  • 整数规划学习总结
  • 靶机 - SAR
  • 【学习记录】c完整线程池实现
  • 集成算法学习笔记
  • C++ OpenGL中几个常见库及其区别