二叉树(Binary Tree)

本文详细介绍了二叉树的多种类型,包括二叉搜索树、平衡二叉树、满二叉树等,以及二叉树的基本性质,如节点数量、深度与平衡性的数学表达。同时,探讨了二叉树在数据结构中的应用及其重要性。

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

引言

树有很多种,有二叉树,三叉树,二三树,红黑树,哈夫曼树,B树,B+树等,二叉树是其中的一种,由于它的每个父节点最多只有两个子节点,所以称之为二叉树,它的两个子节点分别称之为左子节点和右子节点(或者称之为左子树和右子树)。常见的二叉树有完全二叉树,满二叉树,平衡二叉树,二叉搜索树(二叉查找树)。

二叉树的性质

  • 性质一 第i层的二叉树上的节点个数为 2i−1(i>=1){2^{i-1} (i>=1)}2i1(i>=1)
  • 性质二 树的深度为h的二叉树,子节点个数为 2h−1个(h>=1){2^h-1个(h>=1)}2h1(h>=1)
  • 性质三 包含n个节点的二叉树的深度为 log2(n+1)(n>=1){log_2(n+1) (n>=1)}log2(n+1)(n>=1)
  • 性质四 若二叉树的总节点为N,叶子结点(度为0的节点)的个数为 N0{N_0}N0 ,度为2的结点数为 N2{N_2}N2,那么 N0=N2+1{N_0=N_2+1}N0=N2+1 ,度为1的结点数为 N1{N_1}N1 ,那么 N1=N−N0−N2{N_1=N-N_0-N_2}N1=NN0N2

满二叉树

除最后一层子结点外,以上每一层的结点都有两个子结点的二叉树叫做满二叉树。也就是一棵二叉树上,所有层的结点数达到最大数量的二叉树叫做满二叉树。

平衡二叉树

一棵左右两边子树的高度差不超过1的,并且左右两边的树都是平衡二叉树的二叉树,叫做平衡二叉树。空树,红黑树也是一种平衡二叉树。
最小平衡二叉树结点总数的公式为 F(n)=F(n−1)+F(n−2)+1F(n)=F(n-1)+F(n-2)+1F(n)=F(n1)+F(n2)+1

二叉查找树

二叉查找树顾名思义就是用来搜索树中的某个值用的,其搜索,删除,插入复杂度为 O(log(n))O(log(n))O(log(n)) ,和二分查找一样必须是有序数列的前提下,因此二叉查找树的左子树上所有结点必须小于根结点(若左子树结点不为空),右子树上所有结点必须大于根结点(若右子树结点不为空)。
-----未完-------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值