首页
比赛
题库
课程
竞赛讨论区
登录
/
注册
去牛客
首页
>
哈夫曼编码
37条解析
开通博客写题解
牛客134392215号
发表于 2023-01-26 16:53:44
知识点:1.优先队列使用:优先队列cmp的格式2.结构体一定要赋值:tree* left=NULL;,否则初始化为奇奇怪怪的随机数,容易出错。 #include <iostream> #include <algorithm> #include <vector> #
展开全文
GemQ
发表于 2022-04-26 11:59:08
import java.util.ArrayDeque; import java.util.ArrayList; import java.util.Comparator; import java.util.List; import java.util.PriorityQueue; import ja
展开全文
1eHz
发表于 2024-10-26 00:30:03
关键词:哈夫曼编码 / 贪心算法核心思想:无需构建完整的哈夫曼树,可以利用贪心策略和优先队列(最小堆),直接算哈夫曼编码的最小成本WPL(编码后字符串的最短长度)。解题步骤:输入和初始化:读取每个字符的出现次数,并将其存入一个优先队列(最小堆)中。其中 greater<> 比较器确保队列
展开全文
酸甜苦辣复何求
发表于 2024-05-14 21:21:24
#include <stdio.h> //除了小顶堆,不需要任何其他数据结构 //插入 void HeapInsert(long long* Heap, long long val, int size) { Heap[size] = val; while (Heap[si
展开全文
Qadccccc
发表于 2025-07-06 15:58:14
import sys # for line in sys.stdin: # a = line.split() # print(int(a[0]) + int(a[1])) """ 哈夫曼编码 https://blog.csdn.net/xyy1
展开全文
琼洁
发表于 2024-11-04 16:49:38
import heapq def huffman_min_length(n, frequencies): # 使用优先队列(最小堆)来构建哈夫曼树 heapq.heapify(frequencies) min_length = 0 while len(frequen
展开全文
KatL
发表于 2025-04-07 11:11:00
#include <iostream> #include <queue> using namespace std; typedef long long ll ; int main() { int n; cin >> n; priority_
展开全文
想玩飞盘的斑马在理财
发表于 2024-04-26 16:32:18
用C语言写,超时了,通过用例5/10。代码: #include <stdio.h> #include <stdlib.h> #include <string.h> #define MAXINT 32676 // 哈夫曼树每一个结点的类型 typedef str
展开全文
Gnomeshgh112
发表于 2025-04-02 15:24:56
哈夫曼树的创建:所有出现过的字符都作为叶子结点,放到优先队列中从优先队列中取两个出现频率最小的结点,将两个结点合并-->既创建一个新节点,这个节点的左右子树为刚才取出来的那两个频率最小的结点,这个结点的频率为这两个结点的频率之和。将这个新创建的结点重新放到优先队列中。迭代步骤2,步骤2每次会让
展开全文
有胆量的柯基在学习
发表于 2025-08-03 16:49:21
#include <iostream> #include <queue> using namespace std; int main() { int n; cin >> n; priority_queue<long long, ve
展开全文
查看本题
查看本题讨论
相关比赛
100899-ACM-CCPC/ICPC训练营
进入比赛
100943-25年ICPC寒假集训
进入比赛
等你来战
查看全部
牛客练习赛144
报名截止时间:2025-09-12 21:30
牛客周赛 Round 109
报名截止时间:2025-09-14 21:00
牛客挑战赛82
报名截止时间:2025-09-19 22:00
牛客周赛 Round 110
报名截止时间:2025-09-21 21:00
扫描二维码,关注牛客
意见反馈
下载牛客APP,随时随地刷题