2022年2022年关于二叉树的基本操作与输出哈夫曼编码的C语言程序 .pdf
《2022年2022年关于二叉树的基本操作与输出哈夫曼编码的C语言程序 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年关于二叉树的基本操作与输出哈夫曼编码的C语言程序 .pdf(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、注:本程序主要是关于二叉树的一些基本操作,包括前序遍历, 中序遍历, 后序遍历以及求出总结点以及叶子结点的数目(本程序在输入时是默认以先序序列输入各个结点的数值。 如果是其它方式, 则三个遍历程序会有略微变化)以及哈夫曼编码的输出。以下程序除汉字外均为在英文环境中编写,可直接复制到VC 编程软件中运行。#include #include #include #include /getch()所需int num; typedef struct node /定义二叉树的结构体 char data; struct node *lchild,*rchild; BinTNode,*BinTree; Bin
2、Tree T; typedef struct /定义哈夫曼的结构体 int weight; int parent,lchild,rchild; HTNode,*HuffmanTree; HuffmanTree p; typedef char * *HuffmanCode; void CreateBinTree(BinTree &T) /建树 char ch; ch=getch(); if (ch= ) printf(_); T=NULL; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - -
3、第 1 页,共 7 页 - - - - - - - - - else printf(%c,ch); T=(BinTNode *)malloc(sizeof(BinTNode); T-data=ch; CreateBinTree(T-lchild ); CreateBinTree(T-rchild ); void Preorder(BinTree &T) /先序遍历 if (T) printf(%c,T-data); Preorder(T-lchild); Preorder(T-rchild); void P() /先序遍历的调用 system(cls); printf( 先序遍历的结果如下:n
4、nnn); Preorder(T); void Inorder(BinTree &T) /中序遍历 if(T) Inorder(T-lchild); printf(%c,T-data); Inorder(T-rchild); void I() /中序遍历的调用 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 7 页 - - - - - - - - - system(cls); printf( 中序遍历的结果如下:nnnn); Inorder(T); void Postor
5、der(BinTree &T) /后序遍历 if(T) Postorder(T-lchild); Postorder(T-rchild); printf(%c,T-data); void Po() /后序遍历的调用 system(cls); printf( 后序遍历的结果如下:nnnn); Postorder(T); int Ylen(BinTree &T) /求叶子结点个数 if (T) if(T-lchild=NULL&T-rchild=NULL) num+; Ylen(T-lchild); Ylen(T-rchild); return num; int Slen(BinTree &T)
6、/求总结点个数 if (T) num+; Slen(T-lchild); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 7 页 - - - - - - - - - Slen(T-rchild); return num; void l() /将总结点以及叶子结点的数目进行输出 system(cls); num=0; printf( 叶子结点的个数为:%dnnnn,Ylen(T); num=0; printf( 总结点的个数为:%dnnnn,Slen(T); void m(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年2022年关于二叉树的基本操作与输出哈夫曼编码的C语言程序 2022 年关 二叉 基本 操作 输出 哈夫曼 编码 语言 程序
限制150内