二叉树基本概念学习笔记

二叉树:是结点的有限集合,该集合或者为空集,或者是由一个根和两棵互不相交的、称为根的左子树和右子树组成。

性质:1、二叉树的第i层(i>=1)上至多有2^i-1个结点。(可用归纳法证明)

           2、高度为h的二叉树至多有2^h - 1个结点

           3、包含n个元素的二叉树的高度至少为[log2(n+1)] 不小于log2(n+1)的整数

           4、任意一棵二叉树中,若叶结点的个数为n0,度为2的结点的个数为n2,则必有n0=n2+1

满二叉树:高度为h的二叉树恰好有2^h - 1个结点

完全二叉树:一棵二叉树中,只有最下面两层结点的度可以小于2,并且最下一层的叶节点集中在考左的位置

扩充二叉树(2-树):扩充二叉树除了叶子节点外,其余节点都必须由两个孩子


二叉树的先、中、后序遍历均是以访问根节点的位置区分的,知其中两种遍历,可唯一确定另一遍历顺序。


二叉树递归遍历:

//先序遍历
public void beforeTraversal(BinaryTree root)
	{
		if(root!=null)
		{
			System.out.print(root.data);
			beforeTraversal(root.lchild);
			beforeTraversal(root.rchild);
		}
		
	}
//中序遍历
public void centreTraversal(BinaryTree root)
	{
		if(root==null)
			return;
		centreTraversal(root.lchild);
		System.out.print(root.data);
		centreTraversal(root.rchild);
	}
//后序遍历
public void afterTraversal(BinaryTree root)
	{
		if(root==null)
			return;
		afterTraversal(root.lchild);
		afterTraversal(root.rchild);
		System.out.println(root.data);
	}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值