
数据结构
放羊的大飞
这个作者很懒,什么都没留下…
展开
-
阻塞队列
Lock实现锁的原理: 通过Node把线程构成队列,搁置除头结点外的其他线程,当头结点释放锁时唤醒下一个节点,同时更新头结点。一、Condition接口 1、Condition接口:条件对象,阻塞和唤醒线程的作用。位于java.util.concurrent.locks包下,其中有await()、signal()、signalAll()等抽象方法,只有AQS和AQLS类中有内部类实现了Condition接口。 2、ReentrantLock接口中,有内部类Sync继承自Abs...原创 2020-05-14 00:30:13 · 200 阅读 · 0 评论 -
B树和B+树
一、B树二、B+树原创 2020-03-31 00:09:23 · 175 阅读 · 0 评论 -
二叉树和红黑树
一、二叉树 1.每个节点最多有两个子节点(度不大于2) 2.满二叉树:深度为k,有2^k-1个节点 3.完全二叉树:在满二叉树的基础上右边缺几个口。深度为k,最少2^(k-1)个节点,最多2^k - 1个节点 4.节点的度:子树的个数。度为0的叫叶子节点,度不为0的叫分支节点 5.先序遍历(根左右)、中序遍历(左根右)、后序遍历(左右根)、层次遍历(队列实...原创 2020-03-31 00:06:21 · 460 阅读 · 0 评论 -
Trie 前缀树/字典树
一、Trie的介绍: 1、主要应用场景:搜索引擎的自动补全功能:Trie树+词频(概率)权重因子 IP路由:最长前缀匹配,Trie路由算法 分词 2、对比哈希表:哈希表大部分情况下能实现O(1)搜索,但是当冲突较大时可能会O(n);相同的前...原创 2020-03-29 02:47:20 · 180 阅读 · 0 评论