news 2026/9/26 2:45:56

树、森林和二叉树的转换(哈喜老师)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
树、森林和二叉树的转换(哈喜老师)

1.树的存储结构

1.1:树的三种存储结构

树的三种存储结构分别是双亲表示法、孩子表示法、孩子兄弟表示法

1.1.1 :双亲表示法

// 这里参考了王道书上的代码,哈喜老师课程中的代码不对#defineMAX_SIZE100// 结点结构的定义typedefstructPTNode{ElemType data;// 数据域,用于存储结点中的值intparent;// parent域,用于指向该结点的双亲(parent等于-1时,表示该结点没有父结点,也就是说该结点是根结点)}PTNode;// 树的类型的定义typedefstruct{PTNode nodes[MAX_SIZE];// 存储所有结点的数组intn;// 树中实际的结点个数}PTree;

1.1.2 :孩子表示法

1.1.3 :孩子兄弟表示法

typedefstructCSNode{ElemType data;//数据域structCSNode*firstchild;//指向该结点最左边的孩子structCSNode*nextsibling;// 指向该结点右边相邻的兄弟}CSNode,*CSTree;

2.树、二叉树、森林的转换(很重要)

2.1:树转换为二叉树

2.2:二叉树转换为树

2.3:森林转换为二叉树

2.4:二叉树转换为森林

2.5:习题

习题一(有难度)

习题二:(偏简单)

习题三:(有难度)

习题四:(难,思路很不好想,暂时还不理解)

真题(难,还没完全理解)

3.树和森林的遍历

3.1:树的遍历(非重点)

3.2:森林的遍历(非重点)

3.3:树、二叉树、森林的遍历关系(重点)

3.3.1:真题

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/26 2:45:07

肺结节CT影像YOLOv8实战:数据集格式转换与训练调优全解析

简介:面向CT图像肺结节分割与检测研究的YOLO格式数据集压缩包,专门服务于医学影像分析、深度学习目标检测方向的开发者与研究人员。压缩包共含2000个文件,总大小约206.62MB,其中1191个XML文件保存肺结节边界框与类别标注&#xff…

作者头像 李华
网站建设 2026/9/26 2:42:28

cx23885视频采集卡驱动实战:从源码解包到V4L2调试

简介:Conexant CX23885 是一款面向 PCIe 接口的视频桥接芯片,本压缩包提供其 Linux 驱动源码,供内核驱动开发者、嵌入式视频采集模块调试者参考。该驱动用于解决 CX23885 在 PCIe 总线下的设备注册、视频流捕获与硬件控制等核心问题&#xff…

作者头像 李华
网站建设 2026/9/26 2:41:43

扭矩矢量控制:分布式电驱时代的底盘控制革命

1. 这不是“高级差速锁”,而是电驱时代的底盘控制范式革命你可能在某款新发布的纯电SUV宣传页上见过这个词——“扭矩矢量控制”,旁边配着车辆过弯时内侧轮减速、外侧轮加速的动态示意图,文案写着“精准过弯”“弯道如直线”。但如果你真去查…

作者头像 李华
网站建设 2026/9/26 2:41:35

零基础跑通3D高斯泼溅:Spirula Studio 命令行训练完整指南

零基础跑通3D高斯泼溅:Spirula Studio 命令行训练完整指南 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Spi…

作者头像 李华