手撕红黑树是什么梗

在互联网职场论坛,一位职场人发帖吐槽到。字节跳动面试真的是太无聊了,不知道你们工作中哪里需要手撕AVL和红黑树,哪里需要把指针移动来移动去的。个人觉得聪明和背题是两回事,字节面试对你的工作经验和业务丝毫不关心,去面试,代码没让写,但是让总结说这两种树的优缺点和设计思路异别。

个人观点觉得,学东西最终是为了致用,而不是为了全面成绩。如果以后被捞尸,我打算先请教他们这些问题。这样的吐槽也是瞬间引起了网友的围观与议论,老规矩,我们先来看看网友们都是怎么说。

红黑树是一种半平衡的二叉搜索树:

它放弃了二叉搜索树的绝对平衡,换来了较为简单的可维护性,使得二叉搜索树插入新数据,以及搜索数据时,都具有不错的搜索性能。之所以说红黑树是一种半平衡的二叉搜索树,是因为红黑树中所有叶子节点的深度相差不会超过一倍。

红黑树属于“黑平衡”的二叉树,虽然牺牲了一定的平衡性,但是add、remove操作要由优于AVL树也就是说RB-Tree的“统计性能”更佳!Java中TreeSet,TreeMap的底层都是基于RedBlackTree红黑树的;

B+树主要用在文件系统以及数据库做索引。比如磁盘存储、文件系统、MySQL数据库

手写红黑树是专业水平。红黑树是一种自平衡二叉查找树,是在计算机科学中用到的一种数据结构,典型的用途是实现关联数组,能手写红黑树到达了专业的水平。红黑树是在1972年由RudolfBayer发明的,当时被称为平衡二叉B树。后来,在1978年被LeoJGuibas和RobertSedgewick修改为如今的“红黑树”。


欢迎分享,转载请注明来源:民族网

原文地址:https://www.minzuwang.com/life/1195480.html

最新推荐

发表评论

评论将在审核通过后展示