我特么今天跟红黑树干起来了

前段时间,虎扑识货面试一直问我红黑树和b+树的相关内容,b+树还是挺熟悉的,但是红黑树面试基本上没人问,所以一年多没看过,结果我连红黑树最基本的概念都说不准缺。遇到对原理这么执着的面试官,不知道是幸运呢还是幸运呢?曾几何时,我也是数据结构和算法的坚定支持者,这次面的我好像什么都不知道似的。算了,既然又遇到了,就再看看吧。

这次学习主要参考了4篇博客,这四篇各有特色

第一篇:https://blog.csdn.net/qq_41854763/article/details/82694873

在这片博客中主要学的是红黑树的基本概念和插入数据,删除数据时对树的结构的调整。其中基本概念和插入部分讲的很清楚,删除数据部分,有的措辞有些不够清晰,看着容易糊涂。这时可以参考第二篇

第二篇:https://www.jianshu.com/p/e136ec79235c

这篇博客我只看了删除数据部分的介绍,比第一篇讲的要清楚一些,完全可以让你理解清楚。还有,这篇博客的点赞数高达651次,其质量不用多说了。

第三篇:https://www.cnblogs.com/geekma/archive/2012/06/27/2566226.html

这个博客就一个内容,展示红黑树插入和删除数据时的调整逻辑,可以跟着这篇博客来理解红黑树插入和删除的各种情况

第四篇:https://www.cnblogs.com/skywang12345/p/3624343.html#a2

这篇博客讲的就非常全了,里面有红黑树的代码实现,包括java,c++等。想把红黑树落实到代码的同学可以学习一下。第一篇播客里有java版的代码(应该是参考第四篇的),也能看下。

关于我本次学习的感受:上次看红黑树是18年的12月份,那时候就想对红黑树的相关代码进行学习的,但是我那时的状态,和当时的情况让我没法投入很多时间在这件事上,所以只是了解了大概,只知道红黑树的插入和删除情况较多,也较复杂。在之前的话,应该是毕业之前了,学习了一下平衡二叉树,和红黑树,当时刚接触左旋右旋的操作,也有点懵逼。这次算是第三次学习红黑树了,整体情况比我之前预期的要好,没想到,所有的概念和情况都能很顺利的理解,看代码也没有那么费劲,原理理解了代码逻辑就清晰了。当然删除节点部分还是挺复杂的,需要多看看。

总的来说,通过这次学习,对红黑树的掌握更进一步,但是还不到能“手撕”他的地步,但至少能对各种操作的情况有了基本的认识,代码也看得懂了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值