当前位置: 首页 > 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.dtcms.com/a/345114.html

相关文章:

  • JavaWeb前端05(Vue工程化,Vue组件两种风格:组合式API 和 选项式API)及简单案例)
  • 文件下载和文件上传漏洞
  • FTP/TCP上传下载文件
  • C++ 判断: 深度解析与实战指南
  • 华中产业带跨境电商进阶:亚马逊加速器驱动下的多维度能力重构
  • CSS @media 媒体查询
  • Python从入门到自动化运维
  • 凌霄飞控开发日志兼新手教程——基础篇:认识基本的文件内容和相关函数作用(25电赛备赛版)
  • Quarkus 从入门到精通完整指南Q
  • Python socket远程部署工具服务
  • 云原生作业(k8s总结)
  • 爬虫基础学习-配置代理、以及项目实践
  • Spring Cloud系列—SkyWalking告警和飞书接入
  • CGI-CVE-2016-5385
  • 【实时Linux实战系列】实时网络流量监测与管理
  • tauri配置允许执行eval脚本,在打包cocos游戏web/phone移动端的时候一定要配置
  • canvas绘制图片等比缩放
  • 高边开关+BUCK+MOSFET:48V智能汽车动力链的“黄金三角”
  • Prometheus+Grafana监控mysql
  • AI推理革命:从Sequential Thinking到Agentic AI的演进之路——揭秘大语言模型思维进化的四重奏
  • 【Linux网络编程】Reactor反应堆模式
  • 氙灯市场报告:亚太成增长主力,汽车、医疗、科研多领域需求驱动行业发展
  • 永磁同步电机无速度算法--基于跟踪观测器的脉振正弦注入法
  • 无线数传模块实现:焦化厂四大车与除尘系统无线通讯连锁控制方案案例
  • ComfyUI 原生 REST API 技术文档
  • 视频拼接融合技术:打造全景视界的革命性产品
  • modbus绑定变量,并发送8位数据的办法
  • Vue中的methods 和 computed
  • Linux-Makefile
  • 网络编程6(JVM)