数据结构(5.4_1)——树的存储结构

news2024/9/27 9:22:58

树的逻辑结构

双亲表示法(顺序存储)

每个结点中保存指向双亲的“指针”

#define MAX_TREE_SIZE 100//树中最多结点

typedef struct {//树的结点定义
    int data;//数据元素
    int parent;//双亲位置域
}PTNode;
typedef struct {//树的类型定义
    PTNode nodes[MAX_TREE_SIZE];//双亲表示
        int n;//结点数
}PTree;

增加结点操作 

新增数据元素无需按逻辑上的次序存储,之家在上一个结点后添加新结点,并记录双亲结点

 

删除叶结点操作 

1、删除结点数据域                           

2、将尾部数据移动至删除结点位置填充空缺

删除非叶结点操作  

寻找其双亲结点相同的结点

孩子表示法 (顺序+链式存储)

顺序存储各个节点,每个结点中保存孩子的链表头指针

#define MAX_TREE_SIZE 100//树中最多结点

struct CTNode {
    int child;//孩子在结点数组中的位置
    struct CTNode* next;//下一个孩子
};
typedef struct {
    int data;
    struct  CTNode* firstChild;//第一个孩子
}CTBox;
typedef struct {
    CTBox nodes[MAX_TREE_SIZE];
    int n, r;//结点数和根的位置
}CTree;

孩子兄弟表示法(链式存储) 

 

/树的存储——孩子兄弟表示法
typedef struct CSNode {
    int data;
    struct CSNode* firsitchild, * nextsilbling;//第一个孩子和右兄弟指针
}CSNode,*CSTree;
int main() {

    return 0;
}

树和二叉树的转化:

使用孩子兄弟表示法

 

森林和二叉树的转化 

森林—>二叉树

二叉树—>森林

 

总结: 

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

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

相关文章

红外热成像手持终端:从建筑检测到野外搜救的全方位应用

红外热成像手持终端,凭借其独特的红外探测与夜视功能,广泛应用于多个关键领域。无论是军事侦察、消防救援中的夜间作业,还是电力巡检、野生动物观察等多样场景,其精准的红外热成像技术均能提供至关重要的实时数据,助力…

TrainingArguments 的ignore_data_skip解释

文章目录 0. 背景1. 官方解释2. 查看源码3. 验证4. 总结 0. 背景 在采用 HuggingFace 提供的 Transformers 库来训练模型时,如果出现模型训练中断的情况,此时我们希望断点接训,TraningArguments 有一个参数:resume_from_checkpoi…

都从哪里下载量产工具,我给大家推荐一下吧

就推荐量产部落!因为从事固态硬盘维修这行,而且我自己也喜欢DIY,所以我比较关注量产工具下载。 要说量产工具,就得从U盘和固态硬盘的兴衰开始说起,从2016年开始,U盘就在走下坡路了,U盘量产工具…

英特尔裁员、暂停分红和市场挑战

英特尔(INTC)近日宣布了一系列战略调整,以应对其面临的严峻挑战。这家总部位于加利福尼亚州圣克拉拉的芯片制造商计划裁员超过15%,并从第四季度起暂停派息,以重振其盈利能力。 股价暴跌与市值蒸发 英特尔的这一决定导…

找不到的软件资源,试试这个网站

0daydown是一个提供多种资源下载的网站,包括软件、电影、音乐和游戏等。该网站通常会转载其他0day站点或PT站点的内容,并以其丰富的资源和便捷的下载方式而闻名。此外,0daydown还收录了稀缺的0day软件,并提供百度网盘下载链接。 …

双 Token 三验证解决方案

更好的阅读体验 \huge{\color{red}{更好的阅读体验}} 更好的阅读体验 问题分析 以往的项目大部分解决方案为单 token: 用户登录后,服务端颁发 jwt 令牌作为 token 返回每次请求,前端携带 token 访问,服务端解析 token 进行校验和…

serial---- vulnhub打靶

1.新建虚拟机,虚拟硬盘使用vulnhub下载提供的虚拟硬盘文件 2.打开虚拟机,扫描网段,确定IP(或者arp -a) 3.发现没有robots.txt,以及一些常见admin,www.zip目录文件,尝试扫目录 拿另一个工具扫一下看看多了一个 4.发现备…

凸优化学习之旅

目录标题 专业名词MM算法CCP算法:代码说明 SCA算法:连续松弛梯度投影算法 分支定界搜索法凸问题辨别OA算法λ-representationADMM算法代码说明 BCD算法BCD(Block Coordinate Descent)代码示例与ADMM的区别总结 2024年5月6日15:15:…

2024 年 5 款顶级的免费和付费 PDF 编辑器个人评测

PDF 为企业、学校或一般用途提供了一种共享各种信息的便捷方式。您可以在笔记本电脑和智能手机上轻松查看 PDF 文档。但大多数图片查看器和 PDF 阅读器不允许您编辑 PDF。因此,当您想要修改 PDF 文件中的图像或文本时,您需要一个PDF 编辑器。 似乎没有太…

springboot高校勤工俭学平台-计算机毕业设计源码66824

摘 要 本研究基于Spring Boot企业框架,设计并实现了一款高校勤工俭学平台,包括首页、通知公告、新闻通知和岗位信息等功能模块。该平台旨在为高校学生提供便捷的勤工俭学信息发布与查询服务,促进校园内部劳动力资源的充分利用和高效管理。在研…

MSTR:智慧无处不在,可信任 AI 的崛起

|| 前言 商业智能(BI)的力量在于利用数据得出可行的洞察,从而做出更明智的数据驱动决策。从提升内部产品质量、运营和资源利用,到简化公共服务,BI应用非常多样化又具有影响力。 引入人工智能(AI&#xff…

Vue+SpringBoot+SpringSecurity项目对于跨域的深度理解

随记(可跳过):CodeMan在熬夜肝一周SpringSecurity学习的时候,总是报错,于是冥思苦想,选择了询问Ai,但是不论怎么设置权限,接口仍然无法按所设想的权限被调用,于是在今天的…

这“听说啊”的想法很美感

《澎湃新闻》今天在发表的长文《“第二个香港”即将诞生!面积比香港大30倍,或成最大自由港》中称:“听说啊,2024年海南会在合适的时候启动全岛封关运作,这意味着海南要建成更自由、更开放的自由贸易港,咱们…

如何在 Debian 上安装运行极狐GitLab Runner?【二】

极狐GitLab 是 GitLab 在中国的发行版,专门面向中国程序员和企业提供企业级一体化 DevOps 平台,用来帮助用户实现需求管理、源代码托管、CI/CD、安全合规,而且所有的操作都是在一个平台上进行,省事省心省钱。可以一键安装极狐GitL…

亲子游戏 - 华为OD统一考试(D卷)

OD统一考试(D卷) 分值: 200分 题解: Java / Python / C++ 题目描述 宝宝和妈妈参加亲子游戏,在一个二维矩阵(N*N)的格子地图上,宝宝和妈妈抽签决定各自的位置,地图上每个格子有不同的糖果数量,部分格子有障碍物。 游戏规则是妈妈必须在最短的时间(每个单位时间只能走…

PythonPDF操作库之pdfminer使用详解

概要 在现代信息处理领域,PDF 文件是常见的文档格式之一。无论是在企业应用还是个人使用中,能够有效地提取和处理 PDF 文档内容是一项重要技能。pdfminer 是一个强大的 Python 库,专注于从 PDF 文件中提取文本和信息。本文将详细介绍 pdfminer 库,包括其安装方法、主要特性…

【JAVA设计模式】适配器模式——类适配器模式详解与案例分析

前言 在软件设计中,适配器模式(Adapter Pattern)是一种结构型设计模式,旨在使不兼容的接口能够协同工作。它通过引入一个适配器类,帮助两个接口之间进行适配,使得它们能够互相操作。本文将详细介绍适配器模…

2006-2022年中国农村经营管理年报

2006-2022年中国农村经营管理年报 1、时间:2006-2022年 2、格式:2006-2014年为EXCEL,2015-2022年为PDF 3、说明:根据农村经营管理情况统计报表制度调查数据整理、编辑的。本资料系统收录了全国各省、自治区、直辖市农村集体经济…

Gartner发布2024年安全运营成熟度曲线:改变安全运营策略、能力和效果的23项技术发展趋势

安全运营技术和服务通过识别威胁、漏洞和暴露来保护 IT/OT 系统、云工作负载、应用程序和其他数字资产免受攻击。此技术成熟度曲线可帮助安全和风险管理领导者制定战略并提供安全运营能力和功能。 需要知道的 混合和远程工作实践不断发展,安全运营中心 (SOC) 团队支…

云计算 Logstash 配置管理

日志分析系统ELK 项目架构图 Logstash 是一个开源的、服务器端的数据收集引擎,与 Elasticsearch 和 Kibana 一起构成了 Elastic Stack(之前称为 ELK Stack)。Logstash 的主要功能是处理和转发数据,它可以从多种数据源收集数据&a…