数据结构与算法之美——树

本文详细介绍了树这种数据结构的概念,包括高度、深度和层数的定义,并重点讲解了二叉树、满二叉树和完全二叉树的特性。还探讨了二叉树的链式存储结构和数组存储结构,以及二叉查找树的查找和维护相对顺序的作用。此外,文章还阐述了二叉树的遍历方法,包括前序、中序、后序和层序遍历,以及遍历在深度优先和广度优先策略下的实现。
摘要由CSDN通过智能技术生成

一、树

                         

这三个概念的定义比较容易混淆,描述起来也比较空洞。我举个例子说明一下,你一看应该就能明白。

                         

        在我们的生活中,“高度”这个概念,其实就是从下往上度量,比如我们要度量第 10 层楼的高度、第 13 层楼的高度,起点都是地面。所以,树这种数据结构的高度也是一样,从最底层开始计数,并且计数的起点是 0。“深度”这个概念在生活中是从上往下度量的,比如水中鱼的深度,是从水平面开始度量的。所以,树这种数据结构的深度也是类似的,从根结点开始度量,并且计数起点也是 0。“层数”跟深度的计算类似,不过,计数起点是 1,也就是说根节点位于第 1 层。

一、二叉树

       二叉树是树的一种特殊形式。二叉,顾名思义,这种树的每个节点最多有2个孩子节点。这里是最多有2个,也可能只有1个或者没有孩子节点。二叉树还有两种特殊形式,一个叫做满二叉树。  另一个叫做完全二叉树

二、满二叉树

       一个二叉树的左右非叶子节点都存在左右孩子,并且所有叶子节点都在同一层级上,那么这个树就是满二叉树。

                                                    

如图2就是满二叉树。简单来说,满二叉树的每一个分支都是满的。

三、完全二叉树

       

四、存储

       数据结构分为物理结构和逻辑结构。二叉树属于逻辑结构,它可以通过多种物理结构来表达。

       1、链式存储结构

                                                    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值