数据结构 二叉树的性质

一、概述

为什么要使用二叉树呢?比如我们在使用数组的时候,添加数据和删除数据 都会大量的进行数据移动,从而减少了程序的性能。在我们使用链表的时候,如果要查找一个节点,因为需要找到根节点或者尾节点然后一个节点一个节点的往下寻找,相对也会很慢。二叉树的优点有很多,因为结构有序。比如面对大量数据的时候,查找节点的速度非常快。而且他也吸收了链表的优点,删除和添加节点也和链表一样。二叉树结合了数组和链表的优点,那么什么是二叉树呢?在讨论二叉树之前,我们先讨论一下什么是树。

二、什么是树?

树由边连接的节点组成。在计算机的世界里,一个节点代表一个实体, 比如一个人,一个汽车零件等等。树的顶点总有一个节点,它通过连接第二层的多个节点,然后第二层连向更多的节点。依次类推,所以树的顶部小,底部大

三、树的术语

很多树的术语可以描述树的各个部分。为了让后面的二叉树更容易理解,需要知道一些树的术语。
  1.    路径:从一个节点到另一个节点,所经过的节点顺序就叫做路径。
  2.    根:树顶端的节点称为根。一棵树只有一个根节点。从跟到任意一条节点都必须有一条路径(且至仅有一条)。
  3.    父节点:每个节点(除了根)都恰好有一条边向上连接到另一个节点。上面这个节点称为下面节点的“父节点”。
  4.   子节点:每个节点都可能有一条或多条向下连接其他节点。下面这些节点就称为他的“子节点”。
  5.    叶节点:没有子节点的节点称为“叶子节点”或简称“叶节点”。树中只有一个根,但是可以有很多叶节点。
  6.   子树:每个节点都可以作为“子树”的根,它和它所有的子节点,子节点的子节点都含在子树中,就像家族中那样,一个节点的子树包含它所有的子孙。
  7.   层:一个节点的层数是指从根开始到这个节点有多少“代”。假设根是第0层,他的子节点就是第一层,他的孙节点就是第二层,以此类推。
  8.   深度和高度:高度就是从节点X到叶节点最长简单的路径中边的个数。深度就是从根节点往下到节点的所在的层数。比如节点B,他的高度是4,深度为2.
  9. 节点的度:一个节点所拥有的子树的个数称为节点的度 

四、二叉树

二叉树是一种特殊的树,二叉树节点的子节点最多只能有两个。位于节点左边的节点称为左子树,位于节点右边的节点称为右子树。按照这样的规则,二叉树伸延出了5个性质。在这里我们详细了解一下,
性质一:二叉树中第I层最多有2^(i-1) 个节点,其中I>=1.比如下图,第一层 只有一个节点,第二层有2个节点,第三层有4个节点。

性质二:深度为K的二叉树,至多有2^K-1个节点。比如上图中,由于它是满二叉树,并且它的深度为3,那么根据性质二,那么它有7个节点。
性质三: 二叉树中,终端结点个数与度为2的结点个数有如下关系-------=  + 1。
性质四:在二叉树中,节点为n 的完全二叉树,至少有【log2(N)】+1的深度。
性质五在按层序编号的n个节点完全二叉树中,任意一个节点I(1<=i<=N)有:
  1. 如果I=1,那么他是根节点,否则(i>1),任意节点的双亲为ii/2(向下取整),例如5的双亲节点为2.6的双亲节点为3.
  2. 如果2I>N,那么I节点,没有左子树,否则,他的左子树为2I。
  3. 如果2i+1>n,这个节点没有右子树,否则,他的右子树为2I+1.


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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值