`
yangliuy
  • 浏览: 69529 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

POJ 1521 哈夫曼编码 贪心法

 
阅读更多

题意:给定字符串,求哈夫曼编码长和它与等长编码的比值,比较基础

思路:这题考查哈弗曼编码,但其实没必要建树得出编码,只需要统计哈弗曼编码后的总码长即可

参考了网友的题解,用到了优先权队列维持一个从小到大的序列

第38行其实就是把越小的频数反复多加几次,越大的频率少加几次,体现了前缀码的设计思想

Source Code

Problem: 1521 User: yangliuACMer
Memory: 232K Time: 0MS
Language: C++ Result: Accepted



分享到:
评论

相关推荐

    POJ题目简单分类(ACM)

    - **哈夫曼树**:压缩编码,如poj3253。 - **堆**:如优先队列,用于实现最大值或最小值的快速访问。 - **trie树**:用于高效字符串查询,包括静态和动态构建。 4. **搜索算法**: - **深度优先搜索**:如poj...

    poj题目分类

    5. 哈夫曼树:编码压缩,如POJ3253。 6. 堆:优先队列的实现,如最小堆和最大堆。 7. Trie树:字符串搜索和存储,包括静态和动态构建,如POJ2513。 四、搜索 1. 深度优先搜索(DFS):如POJ2488、POJ3083等,常用于...

    POJ 分类题目

    ### POJ 分类题目知识点详解 #### 一、基本算法 **1. 枚举** - **定义**:枚举是一种通过尝试所有可能情况来解决问题的方法。 - **示例题目**: - poj1753 - poj2965 - **应用场景**:适用于问题规模较小或解决...

    强大的POJ分类——各类编程简单题及其算法分类

    5. **哈夫曼树**:用于压缩编码,如POJ3253。 6. **堆**:用于优先队列和部分排序问题。 7. **Trie树**:用于字符串查找和前缀匹配,分为静态建树和动态建树,如POJ2513。 ### 简单搜索 1. **深度优先搜索(DFS)**...

    ACM算法总结大全——超有用!

    5. 哈夫曼树:用于压缩编码,如poj3253。 6. 堆:优先队列实现,如poj1459。 7. Trie树:用于高效字符串查询,如poj2513。 四、简单搜索 1. 深度优先搜索(DFS):如poj2488、poj3083等。 2. 广度优先搜索(BFS):...

    北大acm试题分类.doc

    5. 哈夫曼树:用于压缩编码,如 poj3253。 6. 堆:如 poj2299。 7. trie 树:用于字符串搜索,如 poj2513。 四、简单搜索: 1. 深度优先搜索:如 poj2488。 2. 广度优先搜索:如 poj3278。 3. 搜索技巧与剪枝:提高...

    【最新+免费】ACM主要算法.doc

    5. 哈夫曼树:压缩编码,如POJ 3253。 6. 堆:如POJ 2513。 7. Trie树:静态建树和动态建树,如POJ 2513。 四、搜索 1. 深度优先搜索(DFS):如POJ 2488。 2. 广度优先搜索(BFS):如POJ 3278。 3. 简单搜索技巧...

    很快速的提高算法能力.docx

    - **哈夫曼树**:用于压缩编码和优化空间,如Poj3253。 - **堆**:学习堆的性质和操作,如优先队列。 - **Trie树**:了解静态建树和动态建树,如Poj2513。 4. **搜索** - **深度优先搜索**(DFS):通过Poj2488...

    ACM 经验 笔记 很有用的经验指导

    - **哈夫曼树**:压缩编码,如 poj3253。 - **堆**:用于优先队列和最值问题。 - **Trie 树**:高效存储和查找字符串,分为静态建树和动态建树。 4. **简单搜索**: - **深度优先搜索(DFS)**:poj2488、poj...

    ACM训练方案

    5. 哈夫曼树:poj3253展示了编码和解码的过程。 6. 堆:学习堆的基本操作和用途。 7. trie树:静态建树和动态建树,如poj2513。 搜索技术涵盖: 1. 深度优先搜索(DFS):poj2488等题目用于提高搜索能力。 2. 广度...

    ACMer需要掌握的算法讲解.pdf

    5. 哈夫曼树:压缩编码,如POJ3253。 6. 堆:如优先队列的实现。 7. Trie树:用于字符串查找,分为静态建树和动态建树,如POJ2513。 四、简单搜索 1. 深度优先搜索(DFS):如POJ2488。 2. 广度优先搜索(BFS):如...

    ACM北大训练

    - poj1753: 题目要求找出特定条件下所有可能的解,适合用枚举法解决。 - poj2965: 同样适用于枚举策略。 ##### 2. 贪心 - **定义**: 贪心算法是在每一步选择中都采取在当前状态下最好或最优的选择,从而希望导致...

    cPP.zip_二部图

    "HUFFMAN编码树.cpp"涉及到了哈夫曼编码,这是数据压缩的一种方法,需要用到二叉树结构。"Apple Tree.cpp"可能与苹果树上的苹果收集有关,可能会用到树的遍历。"Machine Schedule.cpp"可能是一个机器调度问题,需要...

Global site tag (gtag.js) - Google Analytics