資源簡介
自己寫的哈夫曼樹的構造和求最短路徑,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;i for?(i=0;i {?m1=m2=MAXVALUE;
x1=x2=0;
for?(j=0;j {?if?(HuffNode[j].weight {?m2=m1;?x2=x1;
m1=
- 上一篇:實驗銀幣問題
- 下一篇:任務管理器MFC實現
評論
共有 條評論