随笔分类 -  算法与数据结构

摘要:写在前面 学习和掌握红黑树,不是一朝一夕之功。我也看到很多优秀的红黑树讲解之作,例如: 30张图带你彻底理解红黑树 面试常问:什么是红黑树? 不过篇幅太长了,特别难记住重要的点,所以自己又整理了一下。 记性质 性质1:“红黑树”顾名思义,由红色结点和黑色结点组成。每个结点要么是红色结点,要么是黑色结 阅读全文
posted @ 2021-03-02 23:41 极客子羽 阅读(525) 评论(0) 推荐(0) 编辑
摘要:JDK1.7 中 HashMap 多线程成环问题,几乎已经成了Java程序员人人需要了解的知识了,本文就带大家来一切重现一下 HashMap 死循环 。 阅读全文
posted @ 2021-02-23 15:49 极客子羽 阅读(844) 评论(0) 推荐(0) 编辑
摘要:DelayQueue 的性质: 1. 它是一个线程安全的队列。 2. 包含 PriorityQueue 的性质。 3. 放入该队列的元素必须实现 Delayed 接口 4. 从该队列取出对象时,需要询问对象的执行延迟。即队头不为 null 条件还不充分,还需要剩余延迟 delay <= 0,对象才能正常出队。这点比较特殊。 阅读全文
posted @ 2021-02-16 11:08 极客子羽 阅读(99) 评论(0) 推荐(0) 编辑
摘要:题目 在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 示例 1: 输入: [3,2,1,5,6,4] 和 k = 2 输出: 5 示例 2: 输入: [3,2,3,1,2,4,5,5,6] 和 k = 4 输出: 4 交换 阅读全文
posted @ 2021-02-09 17:41 极客子羽 阅读(251) 评论(0) 推荐(0) 编辑
摘要:解析Java源码之优先级队列 PriorityQueue。优先级队列的底层数据结构为“小根堆”。为了保持小根堆,常见的调整操作包括 siftUp 和 siftDown。siftUp 保证的是将元素 x 存放到位置 k,位置 k 之前的所有元素符合小根堆的性质。siftDown 是为了保证将元素 x 存放到位置 k 时,以 k 为“根节点”的子树符合小根堆的性质。 阅读全文
posted @ 2021-02-09 16:39 极客子羽 阅读(319) 评论(0) 推荐(0) 编辑
摘要:LRU 是 Least Recently Used 的缩写,即最近最少使用。Java中常常用 LinkedHashMap 来实现 LRU 缓存淘汰。本文给大家展示一下 SpringMVC 框架和 MyBatis 框架是如何做的。 阅读全文
posted @ 2020-11-24 20:10 极客子羽 阅读(634) 评论(0) 推荐(0) 编辑
摘要:使用暴力解法,分治法和动态规划解决区间连续最大和的问题。 阅读全文
posted @ 2020-10-14 08:13 极客子羽 阅读(1701) 评论(0) 推荐(0) 编辑