zoukankan      html  css  js  c++  java
  • 基础哈夫曼树-最简单的

    writer:pprp

    哈夫曼树是最优二叉树,带权值的二叉树

    题意大概:

    给n个数,经过计算得到最优二叉树的最小权值;

    代码如下:(单个测试用例)

    #include <iostream>
    #include <queue>
    #include <vector>
    //最优二叉树:带权值的二叉树
    using namespace std;
    
    priority_queue<int ,vector<int> ,greater<int> >p;
    
    //一组数据
    int main()
    {
        int n;
        int tmp;
        int x,y;
        cin >> n;
        for(int i = 0 ; i < n ; i++)
        {
            cin >> tmp;
            x = tmp;
            p.push(x);
    
        }
        int sum = 0;
    
        cout << p.top() << endl;
        while(!p.empty())
        {
          
            x = p.top(); //取出一个最小值
            p.pop();
            if(n == 1)
                break;
            y = p.top();  //取出一个最小值
            p.pop();
            n--;
            x += y;
            sum += x;
            
            p.push(x);
        }
    
        cout << sum << endl;
        return 0;
    }
  • 相关阅读:
    vs c++配置opencv(1)
    vs2013搭建团队版本控制 TFS、SVN
    robomongo
    Node log4js
    node.async.auto
    p2.js物理引擎学习
    pomelo
    Node.mongoose
    Node.Buffer
    Node安装及搭建简单HTTP服务器
  • 原文地址:https://www.cnblogs.com/pprp/p/7223962.html
Copyright © 2011-2022 走看看