二叉查找树(特殊类型的二叉树)

二叉树

二叉树是一棵树,其中每个节点都不能有多于两个的儿子。如下图显示一颗由一个根和两颗子树组成的二叉树,左子树和右子树均可能为空。在这里插入图片描述

二叉树的实现

因为一个二叉树节点最多有两个子节点,所以我们可以保存直接链接到它们的链。树节点的声明在结构上类似于双链表的声明,在声明中,节点就是由element(元素)的信息加上两个到其他节点的引用(left和right)组成的结构。具体实现的代码如下:

private class Node{
   
		private int element;//存放数据
		private Node left;//左节点
		private Node right;//右节点
		}

二叉树的遍历

二叉树的遍历是一个很常见的问题。二叉树的遍历方式主要有:先序遍历、中序遍历、后序遍历、层次遍历。下面我们主要研究下先序、中序、后序遍历,这三种遍历方式其实指的是父节点被访问的次序。

  • 先序遍历(preOrder):若在遍历过程中,父节点先于它的子节点被访问,就是先序遍历。
public void preOrder(){
   
			System.out.print(this.data+"->");
			if(this.left!=null){
   
				this.left.preOrder();
			}
			if(this.right!=null){
   
				this.right.preOrder();
			}
		}
  • 中序遍历(inOrder):在遍历时,父节点被访问的次序位于左右孩子节点之间,就是中序遍历。
public void inOrder(){
   
			if(this.left!=null){
   
				this.left.inOrder();
			}
			System.out.print(this.data+"->")
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值