Java二叉树基本操作

本文介绍了树作为数据结构的优势,重点讲解了二叉树和二叉搜索树的概念。详细阐述了二叉搜索树的查找、插入、遍历以及删除操作,包括查找节点、插入新节点、中序遍历、寻找最小值和最大值的方法,同时探讨了删除节点的复杂情况及其解决策略。
摘要由CSDN通过智能技术生成

前面介绍有有序数组和链表,有序数组可以根据下标,查询很快,但是插入和删除效率低,平均要移动N/2次,很是费时。而链表添加删除快,但是查询很慢需要一个一个找。于是树结构就来了,它具备有数组查询快的优点,也具有链表增删快的优点。

树(tree)是一种抽象数据类型(ADT),用来模拟具有树状结构性质的数据集合。

二叉树

二叉树:树的每个节点最多有两个节点。
二叉搜索树:若它的左子树不为空,则左子树的所有节点的值均小于根节点的值,若它的的右子树不为空,则右子树的所有节点的值均大于它的根节点的值。
查找节点:
1:查找值比当前节点值大,则搜索右子树
2:查找值等于当前节点值,停止搜索(终止条件)
3:查找值小于当前节点值,则搜索左子树
插入节点
要插入节点,必须先找到插入的位置,与查找操作相似,由于二叉搜索树的特殊性,待插入的节点也需要从根节点开始进行比较,小于根节点则于根节点左子树比较,反之则与右子树比较,直到左子树或右子树为空,则插入到相应为空的位置,在比较的过程中要注意保存父节点的信息及待插入的位置是父节点的左子树还是右子树,才能插入到正确的位置。
遍历树
遍历树是根据一种特定的顺序访问树的每一个节点,比较常用的有前序遍历,中序遍历和后序遍历。而二叉搜索树最常用的是中序遍历。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值