【日常学习笔记-算法篇】树(1)

文章作者分享了自己在找实习过程中意识到算法能力的重要性,并计划通过CSDN记录学习笔记。文中介绍了满二叉树和完全二叉树的定义,强调满二叉树是完全二叉树的特殊情况。对于完全二叉树,作者提出了使用数组存储的方法,解释了节点下标与孩子节点下标的计算关系。
摘要由CSDN通过智能技术生成

之前是读者,现在是笔者。距离保研成功已经有一段时间了,在找实习的过程中发现自己算法能力亟待提升,之前看到有人用CSDN当作笔记进行学习(或者赚钱),于是今天突发奇想,想要尝试一下。欢迎各位批评指正,所学内容来自b站、百度或书籍等等。

满二叉树

若一棵树的深度为k,且结点数满足2^k-1,则为满二叉树。就是说一个结点,或者独自一人,或者同一层的结点都要有双胞胎。

在这里插入图片描述

完全二叉树

满二叉树一定是完全二叉树,但完全二叉树不一定是满二叉树。完全二叉树要保证n-1层是满的,第n层要么是满的,要么结点都要以从左往右的顺序排列。
在这里插入图片描述
在这里插入图片描述
可以使用链表来存储树,但由于一个结点需要存当前数据以及其左右结点,如果结点过多就会导致开销过大,对于完全二叉树,可以采用数组的方式进行存储。
在这里插入图片描述
若A的下标为1,可以看到A的左孩子为B,在数组中的位置为2,右孩子C的下标为3,B的左孩子为D,下标为4,有孩子E下标为5.因此可以得到,若当前结点下标为n,则当前结点左孩子的下标为2n,右孩子下标为2n+1。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值