- 5
- 0
- 约8.89千字
- 约 50页
- 2018-05-13 发布于四川
- 举报
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 从遍历序列恢复二叉树 在已知一棵任意二叉树的先序遍历序列和中序遍历序列或者中序遍历序列和后序遍历序列的条件下,可以唯一地确定这棵二叉树。 除了特殊情况,不能根据先序遍历序列和后序遍历序列来确定对应的二叉树。 例:已知一棵二叉树的先序序列为 A, B, D, G, C, E, F, H, 而中序序列为 D, G, B, A, E, C, H, F,则可按以下方式来确定相应的二叉树。 A B D E C G F H D, G, B, A, E, C, H, F D, G, B D, G E, C, H, F H, F 例:已知一棵二叉树的中序序列为C B D F A G E,而后序序列为C F D B G E A ,则可按以下方式来确定相应的二叉树。 C B D F A G E C B D F D F G E A B C D G E F void ReBiTree(char preod[],char inod[],int n,BITree* root) { if(n=0) *root = NULL; else PreInOd(preod,inod,1,n,1,n,root); } Void PreInOd(char preod[],char inod[],int i,int j,int k,int h,BiTree *t) { *t=(BiTNode*)malloc(sizeof(BiTNode)); (*t)-data=preod[i]; int m=k; while(inod[m]!=preod[i]) m++; if(m==k) (*t)-lchild = NULL; else PreInOd(preod,inod,i+1,i+m-k,k,m-1,(*t)-lchild); if(m==h) (*t)-rchild = NULL; else PreInOd(preod,inod,i+m-k+1,j,m+1,h,(*t)-rchild); } 哈夫曼树及其实现 最优二叉树(哈夫曼树)定义 路径:从树中一个结点到另一个结点之间的分支构成两个接点之间的路径。 路径长度:路径上的分支数目 树的路径长度:树根到每一结点的路径长度之和 树的带权路径长度:所有叶子结点的带权路径长度之和 树的带权路径长度最小的二叉树称为哈夫曼树 例 有4个结点,权值分别为7,5,2,4,构造有4个叶子结点的二叉树 a b c d 7 5 2 4 WPL=7*2+5*2+2*2+4*2=36 d c a b 2 4 7 5 WPL=7*3+5*3+2*1+4*2=46 a b c d 7 5 2 4 WPL=7*1+5*2+2*3+4*3=35 哈夫曼树规则 根据给定的n个权值{w1,w2,…,wn}构成n棵二叉树的集合F={T1,T2,…,Tn},其中每棵二叉树Ti中只有一个带权为wi的根结点,其左右子树为空。 在F中选取两棵结点的权值最小的树作为左右子树构造一棵新的二叉树,且置新的二叉树的根结点的权值为其左右子树上根结点的权值之和 在F中删除这两棵树,同时将新得到的二叉树加入F中 重复2和3,直到F只含一棵树为止。这棵树便是哈夫曼树 哈夫曼树存储结构 typedef struct{ unsigned int weight; unsigned int parent,lchild,rchild; }HTNode,*HuffmanTree; typedef char **HuffmanCode; 哈夫曼树举例:最佳判定算法 哈夫曼树举例:最佳判定算法 哈夫曼树举例:哈夫曼编码 在传送电报时,希望尽可能的短。如果对每个字符设计长度不等的编码,且让电文中出现次数较多的字符采用尽可能短的编码,则传送电文的总长便可减少。 哈夫曼树举例:哈夫曼编码 W=(5,29,7,8,14,23,3,11) n=8,则m=15 哈夫曼树举例:哈夫曼编码 void HuffmanCoding(HuffmanTree HT,HuffmanCode HC,int *w,int n){ if(n=1) return; m=2*n-1; HT = (HuffmanTree)malloc((m+1)*sizeof(HTNode)); for(p=HT,i=1;i=n;++i,++p,++w) *p={*w,0,0,0}; for(;i=m;++i,++p) *p={0,0,0,0}; for(i=n+1;i=m;++i){ Select(HT,i-1,s1,s2); HT
您可能关注的文档
- 新职业经理人风采.ppt
- 校区会销的开展.ppt
- 物联网精华演讲.ppt
- 矿山安全技术 煤矿安全2.ppt
- 北师大版七年级上册第十八课《昌盛的文化》课件.ppt
- 机械制图——第八章_零件图.ppt
- 第6章 稳恒磁场.ppt
- 设计课题设计方案的制订 11-25.ppt
- 鸟语花香--七彩的鸟儿.ppt
- 雅力士VS竞品车Fie 种子讲师手册(0327).ppt
- 生化室标准操作程序教案.pdf
- 煤矿2025全民国家安全教育日活动方案.pdf
- 河北省电子认证有限公司 河北CA数字证书助手 CA数字证书助手软件说明书.pdf
- 第一季度销售工作计划(9篇).docx
- GB/T 14896.4-2025特种加工机床 术语 第4部分:超声加工机床.pdf
- 中国国家标准 GB/T 14896.4-2025特种加工机床 术语 第4部分:超声加工机床.pdf
- 《GB/T 14896.4-2025特种加工机床 术语 第4部分:超声加工机床》.pdf
- 《蔬菜根腐病防治技术规程》(DB54T 0608-2026).docx
- 《实验羊 第5部分:遗传质量控制》(DB31T 1680.5-2026).docx
- 《政务信息化项目网络安全审查规范》(DB43T 2313-2025).docx
最近下载
- (正式版)D-L∕T 1922-2018 架空输电线路导地线机械震动除冰装置使用技术导则.docx VIP
- ISO 10605(2008年版,2009.12.25翻译)(1)完整版.pdf VIP
- 地铁培训安全员课件.pptx VIP
- Q SH CG0156-2021 增效聚合物驱用稠油降黏剂技术要求.pdf VIP
- 20ZJ401 楼梯栏杆建筑工程图集.pdf VIP
- 创新日化德固赛rewoquat sq1.pdf VIP
- YL_335B说明书.pdf
- 中国入党志愿书(空白材料模板).pdf VIP
- 城市轨道交通安全管理第一章城市轨道交通安全管理概述课件.pdf VIP
- SJT 11294-2018 防静电地坪涂料通用规范(高清版).pdf VIP
原创力文档

文档评论(0)