二叉树为空.ppt
根据哈夫曼树求对应的哈夫曼编码的算法如下: void CreateHCode(HTNode ht[],HCode hcd[],int n) { int i,f,c; HCode hc; for (i=0;in;i++) //根据哈夫曼树求哈夫曼编码 { hc.start=n;c=i; f=ht[i].parent;//求结点i的编码 while (f!=-1) //循环直到无双亲结点即到达树根结点 { if (ht[f].lchild==c) //当前结点是左孩子结点 hc.cd[hc.start--]=0; else //当前结点是双亲结点的右孩子结点 hc.cd[hc.start--]=1; c=f;f=ht[f].parent; //再对双亲结点进行同样的操作 } hc.start++; //start指向哈夫曼编码最开始字符 hcd[i]=hc; } } 思考题: 哈夫曼编码的本质是什么? 本章小结 本章的基本学习要点如下: (1)掌握树的相关概念,包括树、结点的度、树的度、分支结点、叶子结点、儿子结点、双亲结点、树的深度、森林等定义。 (2)掌握树的表示,包括树形表示法、文氏图表示法、凹入表示法和括号表示法等。 (3)掌握二叉树的概念,包括二叉树、满二叉树和完全二叉树的定义。 (4)掌握二叉树的性质。 (5)重点掌握二叉树的存储结构,包括二叉树顺序存储结构和链式存储结构。 (6)重点掌握二叉树的基本运算和各种遍历算法的实现。 (7)掌握线索二叉树的概念和相关算法的实现。 (8)掌握哈夫曼树的定义、哈夫曼树的构造过程和哈夫曼编码产生方法。 (9)掌握并查集的相关概念和算法。 (10)灵活运用二叉树这种数据结构解决一些综合应用问题。 练习题7 7.1 、7.2、7.3、7.8、7.9 根据归纳假设,由于子先序序列a1…ak和子中序序列b0b1…bk-1可以唯一地确定根结点a0的左子树,而子先序序列ak+1…an-1和子中序序列bk+1…bn-1可以唯一地确定根结点a0的右子树。 综上所述,这棵二叉树的根结点己经确定,而且其左、右子树都唯一地确定了,所以整个二叉树也就唯一地确定了。 例如,已知先序序列为ABDGCEF,中序序列为DGBAECF,则构造二叉树的过程如下所示。 根结点:A 左先序:BDG 左中序:DGB 右先序:CEF 右中序:ECF 根结点:B 左先序:DG 左中序:DG 右先序:空 右中序:空 根结点:D 左先序:空 左中序:空 右先序:G 右中序:G 根结点:G 左先序:空 左中序:空 右先序:空 右中序:空 根结点:C 左先序:E 左中序:E 右先序:F 右中序:F 根结点:E 左先序:空 左中序:空 右先序:空 右中序:空 根结点:F 左先序:空 左中序:空 右先序:空 右中序:空 由上述定理得到以下构造二叉树的算法: BTNode *CreateBT1(char *pre,char *in,int n) { BTNode *s; char *p; int k; if (n=0) return NULL; s=(BTNode *)malloc(sizeof(BTNode));//创建结点 s-data=*pre; for (p=in;pin+n;p++)//在中序中找为*ppos的位置k if (*p==*pre) break; k=p-in; s-lchild=CreateBT1(pre+1,in,k); //构造左子树 s-rchild=CreateBT1(pre+k+1,p+1,n-k-1); return s; } 先序遍历的思路 定理7.2:任何n(n>0)个不同结点的二又树,都可由它的中序序列和后序序列唯一地确定。 同样采用数学归纳法证明。 实际上,对于根结点ak的左右子树,在确定左右子树的子中序序列后,不需要确定左右子树的整个子后序序列,只需确定子中序序列中全部字符在后序序列中最右边的那个字符即可,因为这个字符就是子树的根结点。 例如,已知中序序列为DGBAECF,后序序列为GDBEFCA。对应的构造二叉树的过程如下所示。 根结点:A 左中序:DGB 左根:B 右中序:ECF 右根:C 根结点:B 左中序:DG 左根:D 右中序:空 右根:空 根结点:D 左中序:空 左根:空 右中序:G 右根:G 根结点:G 左中序:空 左根:空 右
您可能关注的文档
最近下载
- 深度解析(2026)《GBT 39120-2020综合能源 泛能网术语》.pptx VIP
- 7年级上册语文笫二单元《散步》.pdf VIP
- 部编人教版八年级下册历史全册新质教学课件(配2026年春改版教材).pptx
- T_CHPSA YY001-2023 移动机械非金属液压油箱性能要求和试.docx VIP
- 辽交单招语文真题2020.docx VIP
- 曲靖陆良县辅警考试题库.docx VIP
- 检验批划分方案.doc VIP
- 基于STM32矿井作业区域环境安全监测系统研发.docx VIP
- 英语(沪教牛津版)六年级下册Unit 1 教学课件Unit 1Unit 1 Period 2.pdf VIP
- 《DLT 2861—2024综合能源服务能效诊断服务规范》专题研究报告.pptx VIP
原创力文档

文档评论(0)