了解是什么?
关于红黑树的初了解可以参考:
面试常问:什么是红黑树?
为什么设计?
红黑树存在的意义是为了解决二叉树查找的缺陷
会有什么效果?
假设你计算机里存有十亿个身份证信息,你要用计算机在这些身份证信息里进行增加、删除、查找等操作,应该怎样设计程序实现这些功能?最简单的笨办法,当然是逐条比对,但是这样的操作要进行平均 次比对,也就是平均5亿次。如果应用红黑树,就只要最多 次比对,也就是最多30次。30次 vs 5亿次,程序性能提升了1600多万倍。
什么时候用?
JDK的集合类TreeMap和TreeSet底层就是红黑树,在java8中,HashMap也用到了红黑树。linux下的select有应用;STL有应用;java里的好几个数据结构也应用。
红黑树是一种自平衡二叉查找树,它的设计目的是为了优化查找、插入和删除等操作的时间复杂度。相较于简单的二叉查找树,红黑树能确保最坏情况下的操作次数不超过次,显著提高了效率。例如,在处理大量数据时,如身份证信息的增删查改,使用红黑树可以将操作次数从平均5亿次降低到最多30次,极大地提升了程序性能。Java中的TreeMap和TreeSet以及HashMap都利用了红黑树的特性。
665

被折叠的 条评论
为什么被折叠?



