栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++数据结构与算法之哈夫曼树的实现方法

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++数据结构与算法之哈夫曼树的实现方法

本文实例讲述了C++数据结构与算法之哈夫曼树的实现方法。分享给大家供大家参考,具体如下:

哈夫曼树又称最优二叉树,是一类带权路径长度最短的树。

对于最优二叉树,权值越大的结点越接近树的根结点,权值越小的结点越远离树的根结点。

前面一篇图文详解JAVA实现哈夫曼树对哈夫曼树的原理与java实现方法做了较为详尽的描述,这里再来看看C++实现方法。

具体代码如下:

#include 
using namespace std;
#if !defined(_HUFFMANTREE_H_)
#define _HUFFMANTREE_H_

class HuffmanTree
{
public:
  unsigned int Weight;
  unsigned int Parent;
  unsigned int lChild;
  unsigned int rChild;
};
typedef char **HuffmanCode;

void Select(HuffmanTree* HT,int Count,int *s1,int *s2)
{
  unsigned int temp1=0;
  unsigned int temp2=0;
  unsigned int temp3;
  for(int i=1;i<=Count;i++)
  {
    if(HT[i].Parent==0)
    {
      if(temp1==0)
      {
 temp1=HT[i].Weight;
 (*s1)=i;
      }
      else
      {
 if(temp2==0)
 {
   temp2=HT[i].Weight;
   (*s2)=i;
   if(temp2temp1&&HT[i].WeightData;
  cout<

希望本文所述对大家C++程序设计有所帮助。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/63097.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号