首页 > 编程语言 >算法学习笔记(52)——Huffman树

算法学习笔记(52)——Huffman树

时间:2023-01-11 18:23:31浏览次数:58  
标签:int res pop 52 算法 heap include Huffman

Huffman树

题目链接:AcWing 148. 合并果子

利用贪心的思想,每次从当前所有堆中,挑出最小的两堆合并即可。

#include <iostream>
#include <algorithm>
#include <queue>

using namespace std;

int main()
{
    int n;
    cin >> n;
    
    // 利用小根堆动态维护最小值
    priority_queue<int, vector<int>, greater<int>> heap;
    while (n -- ) {
        int x;
        cin >> x;
        heap.push(x);
    }
    
    int res = 0;
    while (heap.size() > 1) {
        int a = heap.top(); heap.pop();
        int b = heap.top(); heap.pop();
        res += a + b;
        heap.push(a + b);
    }
    
    cout << res << endl;
    
    return 0;
}

标签:int,res,pop,52,算法,heap,include,Huffman
From: https://www.cnblogs.com/I-am-Sino/p/17044589.html

相关文章

  • 算法学习笔记(51)——区间问题
    区间问题区间问题1.区间选点2.最大不相交区间数量3.区间分组4.区间覆盖区间选点题目链接:AcWing905.区间选点题目描述给定\(N\)个闭区间\([a_i,b_i......
  • 算法基础——排序
    本文仅供个人记录、分享快速排序快排是经典的排序算法之一,其平均的时间复杂度为O(nlogn)模板:785.快速排序-AcWing题库#include<iostream>usingnamespacestd;......
  • 电子设计教程52:16*16LED点阵屏驱动-完整设计
      我尝试通过移位寄存器级联+三八译码器,实现用3跟控制线,驱动16*16LED点阵屏的效果。这是第四篇博客,讲述三电路的原理图。通过前几篇文章的铺垫,本节课讲述完整的电路原理......
  • 基于python的小波阈值去噪算法
    小波图像去噪原理图像和噪声在经小波变换后具有不同的统计特性:图像本身的能量对应着幅值较大的小波系数,主要集中在低频(LL)部分;噪声能量则对应着幅值较小的小波系数,并分散在......
  • Java开发|移动开发|算法工程师……20-50K,欢迎投递
    FreemenAPP作为一款专注于程序员招聘求职的平台,主旨在于帮助更多的IT程序员技术能有一个更加便捷和轻松的求职环境,帮助更多IT程序员解决生活和工作之间的矛盾,增加程序员收......
  • 算法设计与分析 Ch20问题与规约
    20.1NP问题20.1.1优化问题和判定问题一个优化问题往往可以转换成对应的判定问题。一般而言,优化问题时关注某种特殊的结构,并希望优化该结构的某种指标。Def20.1(Cliqu......
  • 公司算法包更新了,你本地仓库没更新 的解决方法
    出现这个报错的原因是没方法少参数,可能有人少提交东西,本质原因是,算法包更新了,你本地仓库没更新  原因:  解决方法:   把algorithm.jar复制粘贴到这个路径......
  • S2-052 CVE-2017-9805 远程代码执行
    漏洞名称S2-052CVE-2017-9805远程代码执行利用条件Struts2.1.6-Struts2.3.33Struts2.5-Struts2.5.12漏洞原理Struts2REST插件的XStream组件存在反序列化......
  • 算法刷题 Day 14 | 二叉树的递归遍历
    今日内容:理论基础递归遍历迭代遍历统一迭代详细布置理论基础需要了解二叉树的种类,存储方式,遍历方式以及二叉树的定义文章讲解:https://programm......
  • 【视频】Copula算法原理和R语言股市收益率相依性可视化分析|附代码数据
    阅读全文:http://tecdat.cn/?p=6193最近我们被客户要求撰写关于Copula的研究报告,包括一些图形和统计输出。copula是将多变量分布函数与其边缘分布函数耦合的函数,通常称为......