TreeMap

这篇博客详细介绍了TreeMap的特性,它基于红黑树实现,保证元素有序且键不重复。文章还探讨了二叉查找树的概念,包括其查找操作,并解释了平衡二叉树的重要性,特别是旋转操作如左旋和右旋。接着,重点阐述了红黑树的定义和特性,这种自平衡二叉查找树在保证高效查找的同时,维持了相对平衡。最后,简要说明了TreeMap在实际应用中的创建、添加元素及获取值的方法。
摘要由CSDN通过智能技术生成

一、TreeMap特性

1. 其底层由红黑树实现

2. 元素中的键不能重复(要根据键进行索引)

3. 元素会按照顺序排好

二、二叉查找树的定义

  • 特点
    • IF左子树不空,则其所有节点的值都小于根节点的值
    • IF右子树不空,则其所有节点的值都大于根节点的值
    • 左、右子树也分别为二叉排序树
    • 节点的值不重复
  • 结论
    • 节点二叉树就是一个有序的,元素无重复的树

三、二叉查找树的查找操作

  • 查找方式
    • 从根节点开始查找,IF查找的树比根节点大,则前往右子树,否则前往左子树;
    • 在右/左子树中进行递归查找

四、平衡二叉树--二叉查找树的一种

1. 定义

左右两子树高度差不超过1的二叉查找树就叫做平衡二叉树

2. 平衡二叉树的旋转

IF在对二叉查找树的操作过程中出现了不平衡,则需要旋转,旋转方式共分为两种。

(1)左旋

把当前的根节点压到左子树的根节点位置上去,右子树的根节点拿上来作为当前树的根节点;把晋升之后多余的左子节点给降级的右子节点

(2)右旋

把当前的根节点压到右子树的根节点位置上去,左子树的根节点拿上来作为当前树的根节点;把晋升之后多余的右子节点给降级的左子节点

五、红黑树

1.定义

  • 红黑树是一种自平衡的二叉查找树
  • 红黑树的所有存储位表示结点的颜色,可以是红或者黑
  • 红黑树不是高度平衡的,它的平衡是通过“红黑
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值