前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >6.4 树和森林

6.4 树和森林

原创
作者头像
小林C语言
修改2020-12-14 14:10:39
4140
修改2020-12-14 14:10:39
举报

01树的存储结构

1、在大量的应用中,人们曾使用多种形式的存储结构来表示树。

2、双亲表示法:假设以一组连续空间存储树的结点,同时在每个结点中附设一个指示器指示其双亲结点在链表中的位置。这种表示法中,求结点的孩子时需要遍历整个结构。

3、孩子表示法:由于树中每个结点可能有多棵子树,则可用多重链表,即每个结点有多个指针域,其中每个指针指向一棵子树的根结点。

4、孩子兄弟表示法:又称二叉树表示法,或二叉树表表示法。即以二叉链表作树的存储结构。链表中结点的两个链域分别指向该结点的第一个孩子结点和下一个兄弟结点,分别命名为firstchild域和nextsibling域。

02森林与二叉树的转换

1、由于二叉树和树都可用二叉链表作为存储结构,则以二叉链表作为媒介可导出树与二叉树之间的一个对应关系。

2、给定一棵树,可以找到唯一的一棵二叉树与之对应,从物理结构来看,他们的二叉链表是相同的,只是解释不同而已。

03 树和森林的遍历

1、由树结构的定义可引出两种次序遍历树的方法:一种是根(次序)遍历树,即:先访问树的根结点,然后依次先根遍历根的每棵子树;另一种是后根(次序)遍历,即:先依次后根遍历每棵子树,然后访问根结点。

2、先序遍历森林:若森林非空,则可按下述规则遍历之:

(1)访问森林中第一棵树的根结点。

(2)先序遍历第一棵树中根结点的子树森林。

(3)先序遍历除去第一棵树之后剩余的树构成的森林。

3、中序遍历森林:若森林非空,则可按下述规则遍历之:

(1)中序遍历森林中第一棵树的根结点的子树森林。

(2)访问第一棵树的根结点。

(3)中序遍历除去第一棵树之后剩余的树构成的森林。

C语言 | 大写A转换为小写a

更多案例可以go公众号:C语言入门到精通

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档