树的存储结构和遍历树、森林关系

本文介绍树与二叉树之间的转换方法,包括孩子兄弟链表存储结构,并探讨了树的各种遍历方式,如先根遍历、后根遍历和层次遍历,及其在森林遍历中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

树与二叉树之间的转换最直接简单的就是通过孩子兄弟存储结构与二叉链表的存储方法实现

树的存储结构:
    1、双亲链表存储结构:顾名思义只存双亲结点位置,查找双亲非常方便,但是找孩子结点需要遍历整棵树复杂度,一般不用该结构。

        2、孩子链表存储结构:同理寸孩子结点,查找双亲不方便。
        3、双亲孩子链表存储:对于查找双亲和孩子都很方便;
        4、孩子兄弟链表结构:三个域:左孩子中间数值右兄弟,类似与二叉树存储结构,这种存储方式应用很广泛,因为它等同于二叉树的遍历,无论先根、后根遍历都与二叉树的遍历结果一样

树的遍历:
    1、先根遍历:a输出根的值,b递归遍历左孩子树(相对于二叉树的左子树),c递归遍历右兄弟树(相对于二叉树右子树)

    2、后根遍历:a递归遍历左孩子树(相对于二叉树的左子树),b输出根的值,c递归遍历右兄弟树(相对于二叉树右子树)
    3、层次遍历:从上到下、同层就左到右进行遍历

森林遍历:
    1、先根遍历:等同于从第一个树左到右进行先根遍历(等同于森林转换成二叉树之后的二叉树遍历)
    2、后根遍历:等同于从第一个树左到右进行后根遍历(等同于森林转换成二叉树之后的二叉树遍历)
    3、层次遍历:从第一棵树开始层次遍历,接着第二棵……以此类推。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值