前端进阶算法7:小白都可以看懂的树与二叉树

本文介绍了树与二叉树的基本概念,包括树的高度、二叉树的特性以及平衡二叉树。此外,还详细讲解了二叉树的链式存储法、数组存储法以及前序、中序、后序遍历的递归和迭代实现,同时提供了LeetCode的中序遍历题目作为实践练习。

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

不同与我们之前介绍的线性结构,今天我们介绍一种非线性结构:树,树的内容比较多,包括BST树、AVL树、Trie树等,这部分内容将放在下几个章节陆续放出,本章将介绍树与二叉树的基础必会内容,在开始这一章节前,请思考以下内容:

什么是树?
树的高度怎么计算?
什么是二叉树?
什么是平衡二叉树?
在代码中如何表示一棵二叉树?
二叉树的前序、中序、后序遍历又是什么?如何实现?
能否用递归及迭代两种方式实现喃?

下面进入本节内容👇
一、树
不同于我们上面介绍的线性结构,树是一种非线性结构。
图:

它遵循:

仅有唯一一个根节点,没有节点则为空树
除根节点外,每个节点都有并仅有唯一一个父节点
节点间不能形成闭环

这就是树!
树有几个概念:

拥有相同父节点的节点,互称为兄弟节点
节点的深度 :从根节点到该节点所经历的边的个数
节点的高度 :节点到叶节点的最长路径
树的高度:根节点的高度

B、C、D就互称为兄弟节点,其中,节点B的高度为2,节点B的深度为 1,树的高度为3
高度
树的高度计算公式:

下图每个节点值都代表来当前节点的高度:

二、二叉树
二叉树,故名思义,最多仅有两个子节点的树(最多能分两个叉的树🤦‍♀️):
图:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值