(1) 红黑树的了解(平衡树,二叉搜索树),使用场景

把数据结构上几种树集中的讨论一下:

1. AVLtree

定义:先发明的自平衡二叉查找树。在AVL树中任何节点的两个子树的高度 大差别为一,所以它也被称为高度平衡树。查找、插入和删除在平均和坏情况 下都是O(log n)。增加和删除可能需要通过一次或多次树旋转来重新平衡这 个树。

节点的平衡因子是它的左子树的高度减去它的右子树的高度(有时相反)。带有 平衡因子1、0或 -1的节点被认为是平衡的。带有平衡因子 -2或2的节点被认为 是不平衡的,并需要重新平衡这个树。平衡因子可以直接存储在每个节点中,或 从可能存储在节点中的子树高度计算出来。

一般我们所看见的都是排序平衡二叉树。

AVLtree使用场景:AVL树适合用于插入删除次数比较少,但查找多的情况。插 入删除导致很多的旋转,旋转是非常耗时的。AVL 在linux内核的vm area中使用。

2. 二叉搜索树

二叉搜索树也是一种树,适用与一般二叉树的全部操作,但二叉搜索树能够实现 数据的快速查找。

二叉搜索树满足的条件:

  1. 非空左子树的所有键值小于其根节点的键值

  2. 非空右子树的所有键值大于其根节点的键值

  3. 左右子树都是二叉搜索树

二叉搜索树的应用场景:如果是没有退化称为链表的二叉树,查找效率就是 lgn,效率不错,但是一旦退换称为链表了,要么使用平衡二叉树,或者之后的 RB树,因为链表就是线性的查找效率。

3. 红黑树的定义

数据结构与算法面试题(2022版本)相关推荐

  1. 数据结构与算法面试题(2022版)

    序列号 内容 链接 1 Java基础知识面试题(2022版) https://blog.csdn.net/qq_43061290/article/details/124023797 2 Java集合容 ...

  2. 【2021最新版】数据结构+算法面试题总结(9+20道题含答案解析)

    文章目录 1.栈(stack) 2.队列(queue) 3.链表(Link) 4.散列表(Hash Table) 5.排序二叉树 6. 前缀树 7.红黑树 8.B-TREE 9.位图 算法面试题 1. ...

  3. 2021最新汇总数据结构与算法面试题(准备面试的可以看看)

    闲来无事整理了一下数据结构与算法面试题,准备面试的可以看看. 这份面试题汇总除了Java语言的,我还整理了C++和Golang语言的,无论你是做什么开发这份数据结构与算法面试题汇总都可以看,如果你是做 ...

  4. 数据结构经典算法面试题

    转自:http://hi.baidu.com/geogre_jsj/blog/item/e4b98fd2aab5aa3611df9b92.html 由于这些题,实在太火了.所以,应广大网友建议要求,在 ...

  5. 数据结构和算法面试题系列—二叉树面试题汇总

    这个系列是我多年前找工作时对数据结构和算法总结,其中有基础部分,也有各大公司的经典的面试题,最早发布在CSDN.现整理为一个系列给需要的朋友参考,如有错误,欢迎指正.本系列完整代码地址在 这里. 0 ...

  6. 分布式数据结构与算法面试题

    分布式 分布式概述 分布式 分布式(distributed)是为了解决单个物理服务器容量和性能瓶颈问题而采用的优化手段,将一个业务拆分成不同的子业务,分布在不同的机器上执行.服务之间通过远程调用协同工 ...

  7. Java数据结构与算法面试题,首发Java程序员人手必备的进阶知识体系,(1)

    在市场上很少能够看到一套不错的学习笔记,小编也是花了挺久的时间总结了这份**<Java程序员人手必备的进阶知识体系>**,帮助大家系统化高效的进阶学习,而不是零散低效的阅读. 2020全新 ...

  8. 架构设计分布式数据结构与算法面试题

    目录 架构设计 请列举出在JDK中几个常用的设计模式? 什么是设计模式?你是否在你的代码里面使用过任何设计模式? 静态代理.JDK动态代理以及CGLIB动态代理 静态代理 动态代理 cglib代理 单 ...

  9. 架构设计分布式数据结构与算法面试题(2020最新版)

    Java面试总结(2021优化版)已发布在个人微信公众号[技术人成长之路],优化版首先修正了读者反馈的部分答案存在的错误,同时根据最新面试总结,删除了低频问题,添加了一些常见面试题,对文章进行了精简优 ...

  10. 【建议收藏】数据结构和算法面试题

    数据结构 数据结构分为两大类,线性结构和非线性结构. 线性结构:数组.队列.链表.栈 非线性结构:多维数组.树结构.图结构 1.数组 数组是最常用的数据结构,用于存储相同类型的数据,数组的长度也是固定 ...

最新文章

  1. 一周AI回顾 | 特斯拉AI负责人说神经网络正在改变编程,机器学习大神Bengio新论文专注RNN优化
  2. Java数据结构与算法:栈
  3. 《面向模式的软件体系结构1--模式系统》读书笔记(5)--- 管理
  4. firefox英文网页乱码解决方法
  5. javascript基本函数
  6. kmeans聚类算法matlab代码,K-Means算法实现(Matlab)
  7. mysql之我们终将踩过的坑(优化)
  8. 高亮插件Highlighting的使用
  9. 常微分方程的近似计算和误差估计(2)
  10. word中px,pt,dpi,in,em,twip,emu之间的关系
  11. 闲聊Robots协议
  12. 塔望3W消费战略全案丨火出天际的预制菜,能否拯救开饭焦虑?
  13. 如何实现web系统检测浏览器类型的功能
  14. discuz跳过云平台强制开启QQ互联(QQ登录)
  15. Win10+Python3+OpenCV+CUDA——在win中配置OpenCV4.5并与Python环境绑定
  16. 大麦网启动“麦香计划”,将投3亿元布局戏剧内容领域
  17. 一篇文章带你了解Linux
  18. 200604013个人日志(摘录一些厦门集美区教育局06年招人的信息)
  19. matlab注册表版本号,通过注册表发现Windows版本信息
  20. 中科院上海药物所等揭示AMPK促进DNA双链损伤修复的新机制

热门文章

  1. 微信多人共享Excel表格
  2. 6-15 基于顺序表的直接选择排序 (10分)
  3. mysql实验思维导图高清_MySQL思维导图
  4. 回顾安全多方计算-SMPC(MPC)
  5. javaweb入门教程
  6. xmind服务器维护,如何使用XMind组织您的待办事项?
  7. JMeter详细使用教程及实际案例
  8. cmd查看所有数据库 db2_DB2常用命令
  9. VsCode下载,使用国内镜像秒下载
  10. java电商三级地址_Java电商项目面试--收货地址模块