• 大小: 1KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-05-21
  • 语言: C/C++
  • 标签: c  c++  哈夫曼  

资源简介

自己写的哈夫曼树的构造和求最短路径,typedef struct { int weight; int parent; int lchild; int rchild; }HNodeType; int n;HNodeType HuffNode [MAXNODE]; void HaffmanTree(HNodeType HuffNode [ ])

资源截图

代码片段和文件信息

#include
#include
#define MAXVALUE 20000 /*定义最大权值*/
#define MAXLEAF 300 /*定义哈夫曼树中叶子结点个数*/
#define MAXNODE MAXLEAF*2-1

typedef struct {
int weight;
int parent;
int lchild;
int rchild;
}HNodeType;
int n;HNodeType HuffNode [MAXNODE];
void HaffmanTree(HNodeType HuffNode [ ])
{/*哈夫曼树的构造算法*/
int ijm1m2x1x2;
scanf(“%d“&n);
for (i=0;i<2*n-1;i++) /*数组HuffNode[ ]初始化*/
{ HuffNode[i].weight=0;
HuffNode[i].parent=-1;
HuffNode[i].lchild=-1;
HuffNode[i].rchild=-1;
}
for (i=0;ifor (i=0;i{ m1=m2=MAXVALUE;
x1=x2=0;
for (j=0;j{ if (HuffNode[j].weight{ m2=m1; x2=x1;
m1=

评论

共有 条评论