手机参数对比的网站,福建泉州曾明军的网站,建设一网站有什么用,建设部网站投诉核查我红黑树那么牛#xff0c;你们为什么不用#xff1f;_哔哩哔哩_bilibili
面试时经常会被问到红黑树#xff0c;它到底有什么优点呢#xff1f;
对于查找数据#xff0c;数组二分查询速度最快#xff0c;时间复杂度为O(logN)。但是如果增加和删除数据#xff0c;数组就…我红黑树那么牛你们为什么不用_哔哩哔哩_bilibili
面试时经常会被问到红黑树它到底有什么优点呢
对于查找数据数组二分查询速度最快时间复杂度为O(logN)。但是如果增加和删除数据数组就要进行平移时间复杂度是O(N)。
相比之下链表的插入和删除就很简单时间复杂度是O(1)但是它查询速度慢时间复杂度为O(N)。
所以就考虑到能不能找到一种数据结构即满足查询快又满足增删快有就是二叉搜索树搜索就是二分查找的思路小于当前节点的往左子树找大于节点的往右子树找。增删就通过左右子树增删数据。
但是如果增加的数据一直挂在右子树或者左子树上二叉搜索树就变成了一个单链表查找效率就递减。 这个时候就需要红黑树出场了它会对如上不平衡的结构进行处理将一些节点移动到左边在保证搜索效率的同时还能保证增删的效率。相当于兼具二者的优势