数据结构与算法--树和森林

本文详细介绍了树和森林的定义,包括树的双亲表示法、孩子链表和孩子兄弟表示法等存储结构。此外,还讨论了树与二叉树之间的转换方法,以及树和森林的先序、后序、层次遍历策略,帮助理解这些数据结构的遍历操作。
摘要由CSDN通过智能技术生成

一、树和森林定义

          1) 是n(n>=0)个结点的有限集;若n=0,称为空树

               若n>0  (1) 有且仅有一个特定的称为的结点

                           (2) 其余结点可分为m(m>=0)个互不相交的有限集T1,T2,T3,...Tm

          2) 森林: 是m(m>=0)棵互不相交的树的集合

二、树的存储结构

      1.双亲表示法

        实现: 定义结构数组存放树的结点,每个结点含两个域

                  数据域: 存放结点本身信息

                  双亲域: 指示本结点的双亲结点在数组中的位置

        特点: 找双亲容易,找孩子难

#define SIZE 10

typedef char Datatype;
typedef struct PTNode
{
	Datatype ch;
	int parent;             //双亲位置域
}PTNode;           

typedef sturct
{
	PTNode nodes[SIZE];
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值