树的表示——孩子兄弟表示法

news2024/11/27 16:32:43

在这里插入图片描述
从图中可以看出,树的每个结点,都有不确定的指向他们的孩子的节点,如果我们定义这样一个结构体来便是数的结构的话:

struct TreeNode
{
int val;
struct TreeNodep1;
struct TreeNode
p1;

};
是不能够表示一棵树的,因为我们并不确定一个节点的孩子有几个,而且节点的孩子树也不是一样的,

那么我们到底如何定义节点的结构呢?
树结构相对线性表就比较复杂了,要存储表示起来就比较麻烦了,既然保存值域,也要保存结点和结点之间
的关系,实际中树有很多种表示方式如:双亲表示法,孩子表示法、孩子双亲表示法以及孩子兄弟表示法
等。我们这里就简单的了解其中最常用的孩子兄弟表示法

孩子兄弟法:这种方法非常的巧妙,每个节点结构体中只需要定义两个结构体指针就可以实现:
firstchild:第一个孩子指针
nextbrother:下一个兄弟指针
在这里插入图片描述
在这里插入图片描述
树的生活应用:文件系统
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1055949.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

可视化 | (一)数据基础及基本数据可视化方法

​ 文章目录 📚数据可视化的基本流程📚数据属性📚基本可视化图表类型🐇数据分析三规则🐇条形图(Bar Chart)🐇饼图(Pie Chart)🐇衡量易变性 (meas…

计算机网络(一):概述

参考引用 计算机网络微课堂-湖科大教书匠计算机网络(第7版)-谢希仁 1. 计算机网络在信息时代的作用 计算机网络已由一种通信基础设施发展成为一种重要的信息服务基础设施计算机网络已经像水、电、煤气这些基础设施一样,成为我们生活中不可或…

CleanMyMac X4.14.1最新和谐版下载

CleanMyMac一款macOS上非常经典的清理工具。它可以帮助用户清理垃圾文件、卸载无用应用程序、优化系统性能等。旨在帮助用户提高系统性能、释放磁盘空间并保持Mac的健康状态。 下面是CleanMyMac X软件的主要特点: 系统垃圾:清理您的系统来获得最大的性能…

CocosCreator3.8研究笔记(二十四)CocosCreator 动画系统-动画编辑器实操-关键帧实现动态水印动画效果

上一篇,我们介绍了动画编辑器相关功能面板说明,感兴趣的朋友可以前往阅读: CocosCreator3.8研究笔记(二十三)CocosCreator 动画系统-动画编辑器相关功能面板说明。 熟悉了动画编辑器的基础操作,那么再使用动…

Three.js:打造独一无二的3D模型可视化编辑神器!

前言 1.因为之前工作过的可视化大屏项目开发3d大屏组件模块需要用到Three.js来完成,其主功能是实现对3d模型的材质,灯光,背景,动画。等属性进行可视化的编辑操作以及模型编辑数据的存储和模型在大屏上面的拖拽显示 2.因为是第一…

不能显式拦截ajax请求的302响应?

记录工作中早该加深印象的一个小小小case:ajax请求不能显式拦截 302响应。 我们先来看一个常规的登录case: 1. 浏览器请求资源,服务器发现该请求未携带相关凭据(cookie或者token)2. 服务器响应302,并在响应头Location写…

2021-06-15 51单片机c语言秒表的仿真ISIS7 professional

缘由51单片机c语言秒表的仿真ISIS7 professional_嵌入式-CSDN问答 #include "REG52.h" sbit K1 P1^5; sbit K2 P1^6; sbit K3 P1^7; sbit K4 P1^4; sbit LED1P1^0; sbit LED2P1^1; sbit LED3P1^2; sbit LED4P1^3; bit k0; unsigned char code SmZiFu[]{63,6,91,…

IDT 一款自动化挖掘未授权访问漏洞的信息收集工具

IDT v1.0 IDT 意为 Interface detection(接口探测) 项目地址: https://github.com/cikeroot/IDT/该工具主要的功能是对批量url或者接口进行存活探测,支持浏览器自动打开指定的url,避免手动重复打开网址。只需输入存在批量的url文件即可。 …

EM聚类(上):数据分析 | 数据挖掘 | 十大算法之一

⭐️⭐️⭐️⭐️⭐️欢迎来到我的博客⭐️⭐️⭐️⭐️⭐️ 🐴作者:秋无之地 🐴简介:CSDN爬虫、后端、大数据领域创作者。目前从事python爬虫、后端和大数据等相关工作,主要擅长领域有:爬虫、后端、大数据…

Polygon Miden:扩展以太坊功能集的ZK-optimized rollup

1. 引言 Polygon Miden定位为zkVM,定于2023年Q4上公开测试网。 zk、zkVM、zkEVM及其未来中指出,当前主要有3种类型的zkVM,括号内为其相应的指令集: mainstream(WASM, RISC-V)EVM(EVM bytecod…

1.3 互联网的组成

思维导图: 前言: 我的笔记: #### 一、总览 - **互联网的结构**: - 具有全球覆盖和复杂的拓扑结构。 - 即便结构复杂,还是可以从工作方式上简化为两大部分:边缘部分和核心部分。 #### 二、边缘部分 -…

免费、丰富、便捷的资源论坛——Yiove论坛,包括但不限于阿里云盘、夸克云盘、迅雷云盘等等

引言 目前资源的数量达到了60000,六万多的资源意味着在这里几乎可以找到任何你想要的资源。 当然,资源并不是论坛的全部,其中还包括了技术交流、福利分享、最新资讯等等。 传送门:YiOVE论坛 - 一个有资源有交流,有一…

正则表达式模块re

【小白从小学Python、C、Java】 【计算机等级考试500强双证书】 【Python-数据分析】 正则表达式模块re [太阳]选择题 下列程序输出的结果是? import re print("【执行】re.match(www, www.china.com)") print(re.match(www, www.china.com)) print(&quo…

环形链表[简单]

优质博文:IT-BLOG-CN 一、题目 给你一个链表的头节点head,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪next指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数pos来表示链…

【VIM】VIm初步使用

玩转Vim-从放弃到入门_哔哩哔哩_bilibili

csgo搬砖怎么样?steam搬砖赚钱吗?需要怎么做?

CSGO搬砖目前怎么样? Steam-csgo游戏搬砖已经发展了好几年。经过几年的沉淀,任何行业都可以继续这样做,这必须适合市场发展。这就是所谓的适者生存!没有不赚钱的行业,只有不赚钱的头脑。有很多人通过游戏移动砖块来致富…

【前段基础入门之】=> 吃透CSS元素盒模型

导语 在正式了解盒模型之前,我们应该,先了解,在CSS 中元素的几种不同显示模式。方能让我们后续更加透彻清晰的了解盒模型。 文章目录 元素的显示模式元素的显示模式划分修改元素的默认显示模式 盒模型的组成部分盒子内容区(conten…

【STL】list常见用法及模拟实现(附完整源码)

目录 前言1. list介绍及使用1.1 list介绍1.2 list使用 2. list模拟实现2.1 迭代器功能分类2.2 list迭代器模拟实现2.2.1 普通迭代器2.2.2 const迭代器 3. list和vector区别4. 源码 前言 这篇文章我们继续STL中容器的学习,这篇文章要讲解的是list。 1. list介绍及使用…

拒绝水文!八大排序(二)【适合初学者】冒泡排序和选择排序

文章目录 冒泡排序选择排序 大家好,我是纪宁。 这篇文章介绍八大排序中思路最简单,但效率也是最低的两种排序算法! 冒泡排序 冒泡排序,可以说是每个人在接触编程时最先学会的一种排序。 冒泡排序基本思想 冒泡排序(…

前言技术 VScode + 其他插件-2

一、扩展插件 1.1 chinese 作用:使得软件变成中文显示 1.2 prettier 作用:格式化代码 需要多重配置;看视频 第一步:安装 第二步:软件设置 第三步:查询 save , 修改保存时自动对齐格式,打✔…