3. 红黑树 红黑树也是一种自平衡的二叉搜索树,较之 AVL,插入和删除时旋转次数更少 红黑树特性 所有节点都有两种颜色:红与黑 所有 null...
2. AVL 树 前面介绍过,如果一棵二叉搜索树长的不平衡,那么查询的效率会受到影响,如下图 通过旋转可以让树重新变得平衡,并且不会改变二叉搜索...
查找算法 不管是之前学过的数组、链表、队列、还是栈,这些线性结构中,如果想在其中查找一个元素,效率是比较慢的,只有,因此如果你的需求是实现快速查...
2.10 二叉树 二叉树是这么一种树状结构:每个节点最多有两个孩子,左孩子和右孩子 重要的二叉树结构 完全二叉树(complete binary...
2.9 堆 以大顶堆为例,相对于之前的优先级队列,增加了堆化等方法 建堆 Floyd 建堆算法作者(也是之前龟兔赛跑判环作者): 找到最后一个非...
2.8 阻塞队列 之前的队列在很多场景下都不能很好地工作,例如 大部分场景要求分离向队列放入(生产者)、从队列拿出(消费者)两个角色、它们得由不...
2.7 优先级队列 无序数组实现 要点 入队保持顺序 出队前找到优先级最高的出队,相当于一次选择排序 视频中忘记了 help GC,注意一下 有...
2.6 双端队列 概述 双端队列、队列、栈对比 定义特点队列一端删除(头)另一端添加(尾)First In First Out栈一端删除和添加(...
2.5 栈 概述 计算机科学中,stack 是一种线性的数据结构,只能在其一端添加数据和移除数据。习惯来说,这一端称之为栈顶,另一端不能操作数据...