深圳幻海软件技术有限公司 欢迎您!

  • 【C++】用一棵红黑树同时封装出map和set

    苦厄难夺凌云志,不死终有出头日。文章目录一、封装第一层:仿函数取结点中的key关键码二、封装第二层:红黑树的普通迭代器1.map和set的表层迭代器实现2.底层红黑树中迭代器的实现三、封装第三层:1.set的迭代器(底层均为const_iterator)2.map的const_iterator(键值

  • 二叉搜索树:红黑树的原理和实现

    目录前言1.红黑树的概念2.红黑树的性质3.红黑树的定义4.红黑树的插入操作5.红黑树的验证6.红黑树和AVL树的比较7.红黑树的应用前言💭上文我们在遇到问题:二叉搜索树退化到单支导致效率和性能降低时,利用了AVL树解决。但是由于AVL树是一棵绝对平衡的树,每次修改树结构都要保证左右子树高度差的绝

  • HashMap的扩容机制

    目录一、HashMap的底层二、HashMap的扩容机制原理1、JDK1.7版本扩容2、JDK1.8版本扩容三、HashMap底层JDK1.7到JDK1.8的变化一、HashMap的底层底层:采用数组+链表(JDK1.7),采用数组+链表+红黑树(JDK1.8)。线程不安全。容器:HashMap默认

  • TreeMap和HashMap的区别

    目录1、区别2、效率区别3、相同点总结:1、区别打开源码TreeMap  HashMap我们可以看到 HashMap是直接实现了Map接口,而TreeMap则是实现了NavigableMap接口,而这个NavigableMap接口拓展了SortedMap接口,SortM

  • 【数据结构】史上最好理解的红黑树讲解,让你彻底搞懂红黑树

    目录一、红黑树简介二、为什么需要红黑树?三、红黑树的特性四、红黑树的效率4.1红黑树效率4.2红黑树和AVL树的比较五、红黑树的等价变换六、红黑树的操作 6.1旋转操作6.2插入操作6.2.1插入操作的所有情况6.2.2LL和RR插入情况6.2.3LR和RL插入情况6.2.4上溢的LL插入

  • 有了二叉查找树、平衡树为啥还需要红黑树?

     红黑树算是很难的一种数据结构吧,一般很少考察插入、删除等具体操作步骤,如果遇到要你手写红黑树的面试官,就直接告辞吧。所以,更多是会考察你对红黑树的理解程度,考察的最多的估计就是为什么有了二查找查找树/平衡树还需要红黑树这个问题了,今天,你只需要花一分钟的时间,就知道怎么回答这个问题了。1

  • 看了这么多篇红黑树文章,你理解了嘛?

     很早之前就想写一篇关于红黑树的文章,但是由于担心自己理解的不透彻,就一直不敢下笔。于是在重新看了很多篇文章和资料之后,决定彻彻底底的把红黑树搞清楚。也希望让你在面试中游刃有余。OK,废话不多说,开始今天的文章。整篇文章的思路是这样的,红黑树其实就是一种数据结构,设计它的目的就是为了高效地

  • 图解“红黑树”原理,一看就明白!

    【51CTO.com原创稿件】 学过数据结构都知道二叉树的概念,而又有多种比较常见的二叉树类型,比如完全二叉树、满二叉树、二叉搜索树、均衡二叉树、完美二叉树等。图片来自Pexels今天我们要说的红黑树就是就是一棵非严格均衡的二叉树,均衡二叉树又是在二叉搜索树的基础上增加了自动维持平衡的性质

  • 傻瓜都能看懂,30张图彻底理解红黑树!

     当在10亿数据中只需要进行十几次比较就能查找到目标时,不禁感叹编程之魅力!人类之伟大呀!                &nbs

推荐阅读