恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

树的存储结构

  • 首页
  • 资讯中心
  • /
  • 树的存储结构

相关资讯

BetterNCM-Installer在网易云音乐插件管理中的实战配置指南 2026/8/2 14:31:04
5分钟搞定Switch和3DS游戏安装:终极免费网络传输工具完全指南 2026/8/2 14:26:04
OBS Studio直播画面调色指南:从普通到专业的3个色彩魔法 2026/8/2 14:26:04

最新资讯

3步搞定阿里云盘自动签到:永久免费扩容存储空间
Unity WebGL部署IIS:解决.br文件404与配置压缩服务
LPL转会期机制解析:从薪资帽到选手评估,为何AG只能留Hope
基于Wio Terminal的USB HID自定义键盘开发实战指南
如何在非苹果设备上获取macOS:跨平台下载完整教程
OpenCore Legacy Patcher:让2008年以来的老Mac重获新生

今日推荐

ncmdumpGUI:一键解锁网易云音乐ncm文件的终极解决方案
分布式配置中心选型实战:Nacos与Consul在创业场景下的对比
MoneyPrinterPlus实战指南:AI视频批量生成与自动化发布完整解决方案

本周热门

ncmdumpGUI:一键解锁网易云音乐ncm文件的终极解决方案
分布式配置中心选型实战:Nacos与Consul在创业场景下的对比
MoneyPrinterPlus实战指南:AI视频批量生成与自动化发布完整解决方案

本月精选

如何用DamaiHelper实现演唱会门票的智能自动化抢购:完整技术解决方案指南
第4篇:59 倍性能差距的索引瓶颈定位——一次教科书级的全表扫描调优
终极歌词批量下载神器:5分钟解决离线音乐库歌词同步难题

树的存储结构

发布时间:2026/8/2 14:31:05
树的存储结构 文章目录树的逻辑结构双亲表示法顺序存储孩子表示法顺序 链式存储孩子兄弟表示法链式存储树的逻辑结构树是一种递归定义的数据结构。树是n (n≥0)个结点的有限集合n0时称为空树这是一种特殊情况。在任意一棵非空树中应满足有且仅有一个特定的称为根的结点。当n1时其余结点可分为mm0个互不相交的有限集合T1,T2,…Tm其中每个集合本身又是一棵树并且称为根结点的子树。二叉树一个分支结点最多可能有两棵子树。树一个分支结点可以有多棵子树。【只依靠数组下标无法反映结点之间的逻辑关系】在树当中除了根结点外其他任何一个结点都有且仅有一个双亲结点有且仅有一个父结点。双亲表示法顺序存储如何实现树的存储结构用一维数组顺序存储各个结点。每个结点中保存数据元素、指向双亲结点父节点的“指针”。#defineMAX_TREE_SIZE100// 树中最多结点树// 树的结点定义typedefstruct{ElemType data;// 数据域 存储数据元素intparent;// 父结点在数组中的下标根结点 parent -1}PTNode;// 树的类型定义typedefstruct{PTNode nodes[MAX_TREE_SIZE];// 数组存储所有结点intn;// 当前结点个数}PTree;双亲表示法的优缺点优点查找双亲父节点极其方便O(1)。缺点查找某个结点的所有孩子必须遍历整个数组O(n)效率较低。适用于“找父亲”多“找孩子”少的应用场景。如并查集拓展双亲表示法存储“森林”每棵树的根节点双亲指针 -1孩子表示法顺序 链式存储孩子表示法用数组顺序存储各个结点。每个结点中保存数据元素、孩子链表头指针。将每个结点的所有孩子用一个单链表串起来。// 1. 孩子链表结点存储数组下标typedefstructCTNode{intchild;// 孩子在数组中的下标structCTNode*next;// 指向下一个兄弟}*ChildPtr;// 2. 表头结构数组元素typedefstruct{ElemType data;// 数据域ChildPtr firstChild;// 指向第一个孩子的指针}CTBox;typedefstruct{CTBox nodes[MAX_TREE_SIZE];// 数组intn,r;// 结点总数 和 根的位置}CTree;孩子表示法的优缺点优点查找某个结点的所有孩子非常方便。。缺点查找父结点需要遍历整个结构O(n)。适用于“找孩子”多“找父亲”少的应用场景。如服务流程树拓展孩子表示法存储“森林”。【注】用孩子表示法存储森林需要记录多个根的位置孩子兄弟表示法链式存储树的孩子兄弟表示法与二叉树类似采用二叉链表实现。每个结点内保存数据元素和两个指针但两个指针的含义与二叉树结点不同。// 树的存储——孩子兄弟表示法typedefstructCSNode{ElemType data;// 数据域structCSNode*firstchild,*nextsibling;// 左指向第一个孩子右指向右边一个兄弟}CSNode,*CSTree;// 二叉树结点链式存储typedefstructBiTNode{ElemType data;structBiTNode*lchild,*rchild;// 左子树 右子树}BiTNode,*BiTNode;拓展孩子兄弟表示法存储“森林”。【注】用“孩子兄弟表示法”存储 树或森林 时从存储视角来看形态上与二叉树类似。森林中的每棵树的根节点是为平级的兄弟关系。

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号