爱上算法,迷人的两度搜索,深度优先(DFS)和广度优先(BFS)
深度优先搜索算法和广度优先搜索算法是一种用于遍历或搜索树或图的算法,在搜索遍历的过程中保证每个节点访问一次且仅访问一次,按照节点访问顺序的不同分为深度优先和广度优先。
一文弄懂java中的Queue家族
总结本文介绍了Queue接口和它的三大分类,这三大分类又有非常多的实现类,我们将会在后面的文章中再详细介绍。
延迟阻塞队列(DelayQueue)的实现原理
前言前面已经讲解了数组、链表、优先级三种阻塞队列,下面将继续讲解另外一种阻塞队列——延迟队列(DelayQueue)。
算法:数据流中的中位数
如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。的中位数是 / 2 = 2.5。输入:,,,,,]。
PriorityQueue优先队列源码
PriorityQueue 是 Java 中的优先队列实现,底层是一个小顶堆。它适合实现 TopK、任务调度等场景。这篇文章看它的源码。PriorityQueue 优先队列是什么?PriorityQueue 是基于二叉堆实现的优先队列。队首元素总是优先级最高(最小)的元素。
详解数据结构与算法:队列(Queue)
今天一起说说数据结构:队列。(一)队列① 介绍队列是一种特殊的线性表,只能在头尾两端进行操作。
Java:Queue基本操作详解
每个方法都存在两种形式:一种抛出异常,另一种返回一个特殊值。JDK中并发队列提供了两种实现,一种是高性能队列ConcurrentLinkedQueue,一种是阻塞队列BlockingQueue,两种都继承自Queue。
【堆与优先队列】堆与优先队列:“数据金字塔“与“我是VIP“
堆和 优先队列是紧密相关的数据结构,都用于高效地管理元素并根据优先级进行访问。鲲鹏通用计算增强型 kC2 | 4vCPUs | 8G | Ubuntu。
如何实现延迟队列
在平时的业务中我们可能会碰到这样的需求,用户A将任务分配给用户B,如果30天后用户B还没有处理这个任务,那么系统自动将这个任务转发给用户C,或者将任务退回给任务A。这里我们就可以使用延迟队列,我们写好转发方法或者退回方法,用户A分配任务时将时间记录放入延迟队列。
多线程之阻塞队列BlockingQueue详解
上篇博文,我们简单的介绍了多线程之Semaphore,这篇我们重点介绍阻塞队列BlockingQueue。