教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 学前教育 >

离散数学实验指导书及其答案(3)

来源:网络收集 时间:2026-09-04
导读: 实验七 最优二叉树的应用 【实验目的】掌握求最优二叉树的方法。 【实验内容】最优二叉树在通信编码中的应用。要求输入一组通信符号的使用频率,求 各通信符号对应的前缀码。 【实验原理和方法】 (1)用一维数组f[

实验七 最优二叉树的应用

【实验目的】掌握求最优二叉树的方法。

【实验内容】最优二叉树在通信编码中的应用。要求输入一组通信符号的使用频率,求

各通信符号对应的前缀码。

【实验原理和方法】

(1)用一维数组f[N]存贮通信符号的使用频率,用求最优二叉树的方法求得每个通信符号的前缀码。

(2)用链表保存最优二叉树,输出前缀码时可用树的遍历方法。 #include #include #define N 13 struct tree {

float num;

struct tree *Lnode; struct tree *Rnode; }* fp[N];//保存结点 char s[2*N];//放前缀码

void inite_node(float f[],int n)//生成叶子结点 {

}

void sort(struct tree * array[],int n)//将第N-n个点插入到已排好序的序列中。 {

int i;

struct tree *temp; for(i=N-n;i

if(array[i]->num>array[i+1]->num) { int i;

struct tree *pt; for(i=0;i

pt=(struct tree *)malloc(sizeof(struct tree));//生成叶子结点 pt->num=f[i];

pt->Lnode=NULL;pt->Rnode=NULL; fp[i]=pt;

}

}

temp=array[i+1]; array[i+1]=array[i]; array[i]=temp;

struct tree * construct_tree(float f[],int n)//建立树 {

int i;

struct tree *pt; for(i=1;i

return fp[N-1]; }

void preorder(struct tree *p,int k,char c) {

int j; if(p!=NULL) { } }

if(c=='l') s[k]='0'; else s[k]='1';

if(p->Lnode==NULL) {//P指向叶子 }

离散数学实验指导书及其答案(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/596558.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)