下载此文档

哈夫曼算法建立最优二叉树样稿.doc


文档分类:IT计算机 | 页数:约5页 举报非法文档有奖
1/5
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/5 下载此文档
文档列表 文档介绍
#include<>
#include<>
#include<>
#include<string>
#define MAX_NUMBER_OF_TREE_NODES 20
//树结点类型定义
typedef struct
{
unsigned int weight;
unsigned int parent,lchild,rchild;
}HTNode,*HuffmanTree;
//子函数申明部分
void InitTreeNode(HTNode);
void CinWeightForTreeNode(HTNode);
void GiveOrderForTreeNode(HTNode);
void CopyTreeNodeOrTree(HTNode,HTNode);
int main()
{
//定义将要用于结构哈弗曼树结点
HTNode TreeNodes[MAX_NUMBER_OF_TREE_NODES+1];
//调用函数初始化数组结点
InitTreeNode(TreeNodes);
//由用户输入各个结点权值
CinWeightForTreeNode(TreeNodes);
//对数组中结点进行排序
GiveOrderForTreeNode(TreeNodes);
return true;
}
//初始化结点值,使全部为NULL
void InitTreeNode(HTNode *treenodes)
{

int i=1
//数组首结点用来存数部分信息,如weight域用来存放节点多少
//忽然想到了一个好处就是:等会我们几点不停降低过程中能够用首结点
//weight来指示剩下结点数目,做访问数组元素界限
treenodes[0].weight=MAX_NUMBER_OF_TREE_NODES;
treenodes[0].lchild=NULL;
treenodes[0].parent=NULL;
treenodes[0].rchild=NULL;
for(;i<=MAX_NUMBER_OF_TREE_NODES;i++)
{
treenodes[i].weight=0;
treenodes[i].lchild=0;
treenodes[i].rchild=0;
treenodes[i].parent=0;
}
}
void CinWeightForTreeNode(HTNode *treenodes)
{
int i=1;
cout<<"请输入每个结点权值:"<<endl;
for(;i<=MAX_NUMBER_TREE_NODES;i++)
{
cout<<"第"<<i<<"个结点权值是:"<<endl;
cin>>treenodes[i].weight;
}
}
void GiveOrderForTreeNode(HTNode *treenodes)
{

HTNode TemporarySave;

哈夫曼算法建立最优二叉树样稿 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数5
  • 收藏数0 收藏
  • 顶次数0
  • 上传人业精于勤
  • 文件大小16 KB
  • 时间2020-11-17