首页 > 编程知识 正文

二叉树的三种遍历例题,哈夫曼树和哈夫曼编码

时间:2023-05-06 05:33:31 阅读:54072 作者:3833

【题目说明】树和二叉树基本上有先序、中序、后序、逐层扫描等扫描顺序,给出中序和其他扫描顺序可以确定一个二叉树的结构。

假设一棵树的一个节点是用一个字符描述的,现在给出按中序和逐层扫描的字符串,求出该树开头的扫描字符串。

【输入】两行。 每行是由字母构成的字符串,一行中的每个字符是唯一的。 分别表示二叉树的中顺扫描和逐层扫描的顺序。

【输出】一行表示二叉树的优先级序列。

【输入样品】DBEAC

ABCDE

【输出样品】ABDEC

【源程序】# include iostream # include cstdio # include cstring # include cmath # include algorithm # include string # includecstrion definepiacos(-1.0 ) definen 1001 # define mod 123 # define E1 e-6 usingnamespacestd; int len; char a[N],b[N]; voidpreorder(intleft,int right ) ) { int i,j; bool flag=false; for(I=0; ilen; I ) for(j=left; j=right; j () if ) b[I]==a[j] ) { couta[j]; flag=1; 布雷克; } if (标志) break; (if ) leftj ) preorder ) left,j-1; if(jright ) preorder ) j1,right; (}int main ) ) { cinab; len=Strlen(a; 预排序器(0,len-1 ); 返回0; }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。