哇! 二叉树

二叉树

提到二叉树,那我们就不得不说一下什么是二叉树了,正如标题所说,两个叉的树。。。。

概念
一棵二叉树是结点的一个有限集合,该集合或者为空,或者是由一个根节点加上两棵别称为左子树和右子树的二叉树组成。
二叉树的特点:

  1. 每个结点最多有两棵子树,即二叉树不存在度大于2的结点。
  2. 二叉树的子树有左右之分,其子树的次序不能颠倒。
  • 现实生活中的二叉树

在这里插入图片描述
对的没错,这就是我们现实生活中的二叉树。。。。。。。 好看吧!那么在我们的数据结构中,我们又是如何来定义二叉树的呢?

  • 数据结构中的二叉树

在这里插入图片描述
我们数据结构中,二叉树有这5种形态(空树,只有根节点,只有左子树,只有右子树,左右子树都有)

其实看起来我们的二叉树也没有那么难理解吧,接下来让我们在看看几种特殊的二叉树

  • 满二叉树
    一个二叉树,如果每一个层的结点数都达到最大值,则这个二叉树就是满二叉树。也就是说,如果一个二叉树的层数为K,且结点总数是(2^k) -1 ,则它就是满二叉树。
    在这里插入图片描述

  • 完全二叉树
    完全二叉树是效率很高的数据结构,完全二叉树是由满二叉树而引出来的。对于深度为K的,有n个结点的二叉树,当且仅当其每一个结点都与深度为K的满二叉树中编号从1至n的结点一一对应时称之为完全二叉树。 要注意的是满二叉树是一种特殊的完全二叉树。
    在这里插入图片描述

  • 平衡二叉树
    它是一棵二叉排序树,且具有以下性质:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。
    在这里插入图片描述
    以上就是我们比较常用三种数据结构,对于一棵二叉树而言,它可以采取顺序存储,链式存储等形式,具体的实现过程我就不列举了,关于二叉树的一些基本性质我们也是需要掌握的,但这里我也就不一一列举了,因为这个性质比较简单,我们只需要画一棵二叉树,它的性质就都出来了,人的大脑毕竟是有限的,像这种东西有时候我们也没有必要刻意去记住它,用的多了自然就了解了,实在不行,我们画一下不就行了。最后我们再来说一说二叉树跟数组以及链表的区别吧。

总结
二叉排序树是一种比较有用的折衷方案。
数组的搜索比较方便,可以直接用下标,但删除或者插入某些元素就比较麻烦。
链表与之相反,删除和插入元素很快,但查找很慢。
二叉排序树就既有链表的好处,也有数组的好处。
在处理大批量的动态的数据是比较有用。

你了解二叉树了吗? 没了解的画,那就再看一遍呦。。。。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值