标签: 优先队列
每日算法 — 使用java实现霍夫曼编码:贪心构建最优前缀码与数据压缩
在日常开发中,文本文件、图片、音频的存储与传输都离不开压缩技术。如何将 "AAAAABCD" 这类高频字符重复出现的数据高效编码?1952年,David Huffman 提出的...
每日算法 — 使用java实现塔防游戏:BFS路径生成与贪心炮塔覆盖策略
引言:从经典塔防到算法设计 塔防(Tower...
每日算法 — 使用java实现二叉堆:完全二叉树实现优先队列与堆化操作
引言 优先队列(Priority Queue)是计算机科学中最常用的数据结构之一,广泛应用于任务调度、图算法(如 Dijkstra)、Top-K 问题等场景。而二叉堆(Binary...
每日算法 — 使用java实现外部排序:大文件多路归并与缓冲区管理
引言 当待排序的数据量超过内存容量时,传统的内存排序算法(如快速排序、归并排序)无法直接应用。外部排序(External...
每日算法 — 使用java实现左偏树:可并堆与优先队列合并
引言 在算法竞赛和工程实践中,优先队列(堆)是一种极为常用的数据结构。然而,标准的二叉堆不支持高效的两个堆合并操作——合并两个二叉堆需要 O(n)...
每日算法 — 使用java实现接雨水:双指针贪心与单调栈优化
问题描述 接雨水是经典的数组处理问题。给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子下雨之后能接多少雨水。 示例: 输入: height =...
每日算法 — 使用java实现胜者树:k路归并的锦标赛选择与堆优化对比
引言 胜者树(Winner Tree),又称锦标赛树(Tournament...