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

数组和二叉树

数组的存储地址

矩阵的压缩存储

稀疏矩阵——三元组顺序表

定义

树是n个节点的有限集。n=0时称为空树。在任意一颗非空树中:

  • 有且仅有一个特定的称为根(root)的结点。
  • 当n>1时,其余结点可分为m(m>0)个互不相交的有限集t1、t2……,其中每一个集合本身优势一颗树并称为根的子树(SubTree)。
  • 树的结点包含一个数据元素及若干指向其子树的分支。
  • 结点拥有的子树数称为结点的度。
  • 度为0的结点称为叶子(Leaf)或终端结点;度不为0的结点称为非终端结点或分支结点。
  • 除根结点之外,分支结点也称为内部结点
  • 树的度是树内各结点的度的最大值
  • 结点的子树的根称为该结点的孩子,相应的,该结点称为孩子的双亲。同一个双亲的孩子之间互称兄弟。
  • 结点的祖先是从根到该结点所经分支上的所有结点。以某结点为根的子树中的任一结点都成为该结点的子孙。

结点的层次从根开始,根为第一层,根的孩子为第二层。双亲在同一层的结点互为堂兄弟,树中结点的最大层次称为树的深度或者高度。

  • 有序树——从逻辑上看,树中结点的各子树从左至右是有次序的,不能互换。
  • 无序树——从逻辑上看,树中结点的各子树从左至右是无序的,可以互换。

森林

森林是m(m>=0)棵互不相交的树的结合。对树中的每个结点而言,其子树的集合即为森林。

树的应用场景

  1. 文件系统
  2. 数据库索引
  3. 决策树
  4. 网络路由
  5. 表达式树
  6. 哈夫曼编码树
  7. 二叉搜索树

二叉树

二叉树的定义

二叉树是一种每个结点最多有两个子结点的树结构。二叉树的子树有左右之分,其次序不能任意颠倒。

深度为k的,有n个结点的二叉树,当且仅当其每一个结点都与深度为k的满二叉树的编号从1至n的结点一一对应时,称之为完全二叉树。

完全二叉树是一种特殊的二叉树,其定义是:除了最后一层外,所有层的结点都达到了最大结点数,并且最后一层的结点是从左到右依次排序的。

二叉树的性质

二叉树的遍历

1.先序遍历

步骤:

  1. 访问当前根节点。
  2. 递归遍历左子树。
  3. 递归遍历右子树。

2.中序遍历

步骤:

  1. 递归遍历左子树。
  2. 访问当前根结点。
  3. 递归遍历右子树。

3.后续遍历

步骤:

  1. 递归遍历左子树。
  2. 递归遍历右子树。
  3. 访问当前根结点。

最优二叉树(赫夫曼树)

给定N个权值作为N个叶子结点,构造一棵二叉树,若该树的带权路径长度路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。

http://www.jsqmd.com/news/767694/

相关文章:

  • 从Word到LaTeX再回来:我的跨格式论文润色流水线(Pandoc+ChatGPT实战)
  • AI Agent观测性实践:AgentPulse框架解析与多智能体系统监控
  • 智慧医疗眼底图像视网膜病变检测数据集VOC+YOLO格式2183张9类别有增强
  • AI驱动嵌入式开发-Harness-Engineering实践指南
  • Unity AI场景生成:基于提示词的程序化世界构建实践
  • 2026 年免费在线音频转文字软件推荐:从基础工具到微信小程序的完整选择
  • 别再瞎调了!STM32F4时钟配置保姆级教程:从HAL库函数到180MHz超频实战
  • 3个核心技巧:掌握企业微信消息推送的Wecom酱解决方案
  • Lucid第一季营收2.8亿美元:净亏10亿美元 半年市值蒸发75% 现金流难以为继
  • 释放C28x主核性能:用TMS320F28035的CLA独立处理电机控制PWM与ADC采样
  • 蓝桥杯备赛最后一周,我靠这份Dev-C++和Eclipse的考场环境配置清单拿了省一
  • AgentTool:子 Agent 生成与递归防护,一次讲透
  • 绿色协同发展新路径:同道联盟八周年江西点亮推动生态资源共享体系建设
  • 2026年靠谱的台州商务眼镜源头工厂推荐 - 行业平台推荐
  • 2026年质量好的磁力抛光机/电子元件磁力抛光推荐厂家精选 - 品牌宣传支持者
  • 2025届必备的六大AI辅助论文助手实际效果
  • STM32上电后第一行代码在哪?手把手带你读懂MAP文件里的启动秘密
  • AI提示词驱动Unity游戏世界生成:从原理到工程实践
  • Docker化Ollama部署指南:开箱即用的本地大模型服务方案
  • 用STM32F103和ESP8266做个智能插座:手机远程监控功率,还能自动断电(附完整代码)
  • 别再死记硬背了!手把手教你玩转Simulink查表模块(以2021b版为例,含内插外插算法选择避坑指南)
  • 终极免费视频水印去除神器:基于LAMA模型的智能批量处理方案
  • 基于AI Agent与语音技术的自动化电话系统构建指南
  • 模型合并,转换,量化压缩,部署
  • 别再只盯着TCP了!用Wireshark抓包,带你亲手拆解UDP数据报的‘信封’(附校验和计算过程)
  • 音频深度学习工具箱:从梅尔频谱到PyTorch实战
  • 告别驱动烦恼:在Ubuntu 22.04上5分钟搞定CH343串口驱动安装与开机自启
  • 从玩具飞机到精密制造:拆解Real3D-AD数据集背后的高精度扫描与标注实战
  • C语言轻量级工具库GlibClaw:模块化设计与工程实践指南
  • 避开命令行!在VMware vCenter 8.0图形化界面里搞定SSL证书续期全流程