二叉树基本性质及二叉树链表类

本文介绍了二叉树的基本性质,包括层结点数、总结点数、叶子结点与度为2的结点关系,以及深度与结点数的关系。讨论了满二叉树和完全二叉树的概念,并强调链式存储结构在二叉树实现中的普遍使用。文章还提到了二叉链表的生成规则,并通过示例展示了输入数据与遍历结果。
摘要由CSDN通过智能技术生成

简单概述一下二叉树:二叉树是一种很有用的非线性结构,非空二叉树只有一个根结点,每一个结点最多有两棵子树,左子树和右子树,它具有如下几个基本性质:

性质1  在二叉树的第K层上,最多有2^(k-1)(k>=1)个结点。

性质2  深度为M的二叉树最多有(2^m)-1个结点。

性质3  在任意一颗二叉树中,度为0的结点(即叶子)总是比度为2的结点多一个。

性质4 具有n个结点的二叉树,其深度至少为[log以2为底的n]+1。

满二叉树:除最后一层外,每一层上的所有结点都有两个子结点。

完全二叉树:除最后一层外,每一层上的结点数均达到最大值;最后一层上只缺少右边的若干结点。

性质5 具有n个结点的完全二叉树的深度[log以2为底的n]+1。

二叉树通常采用链式存储结构,除非是满二叉树或完全二叉树适合用顺序存储。

二叉树链表类

#include<iostream>
using namespace std;
template <class T>
struct Btnode
{
	T d;
	Btnode *lchild;
	Btnode *rchild;

};
template <class T>
class Binary_Tree
{
  private:
	  Btnode<T> * BT;
  public:
	  Binary_Tree(){BT=NULL;retu
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值