数据结构 二叉树

二叉树


1. 二叉树

1.1二叉树的概述

树中度小于等于2的树就称为二叉树

1.2基本概念

  1. 根结点(root): 没有父结点,只有子节点的结点称之为根结点
  2. 父结点: 一个结点有上一级的关系,则称这个结点上一级的结点为该结点的父结点
  3. 左子结点:一个结点的下级左边的结点称为左子结点
  4. 右子结点:一个结点的下级右边的结点称为有子结点
  5. 左子树:一个结点下级左边的所有结点,称为该结点的左子树
  6. 右子树:一个结点下级右边的所有结点,称为该结点的右自子树
  7. 结点的度:结点有多少个分支结点度就为多少,(Ps:二叉树的度最多为2)
  8. 树的高度:树一共有多少层,则树的高度就是多少

2.二叉查找树

又称:二叉排序树或二叉搜索树

2.1数据存储的特点

  1. 任意一个结点的左子树中的结点都比当前结点小
  2. 任意一个结点的右子树中的结点都比当前结点大

2.2 二叉查找树的出现原因

  • 为了折中数组和链表的特性:

    树的查询效率优于链表,树的增删效率低于链表
    树的增删效率优于数组,树的查询效率低于数组

2.3 二叉查找树代码实现

核心代码

 		//进行插入位置寻找
        while (true){
   
            //用3结点与指针curr比较
            int result = threeNode.ele - curr.ele;

            //判断结果
            if (result > 0){
   
                //如果位置不为空,则指针右移
                if (curr.right != null){
   
                    curr = curr.right;
                }else{
   
                    //如果位置为空,则将3结点放入
                    curr.right = threeNode;
                    break;
                }
            }else if (result < 0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Aming_sth

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值