- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
先序遍历二叉树的递归算法voidPreOrderBiTreeroot
* for (i=1; i=n; ++i) { /*求n个叶子结点对应的赫夫曼编码*/ start=n-1; /*初始化编码起始指针*/ for (c=i, f=HT[i].parent; f! =0; c=f, f=HT[f].parent) /*从叶子到根结点逆向求编码*/ if (HT[f].lchild==c) cd[--start]=“0”; /*左分支标0*/ else cd[--start]=“1”; /*右分支标1*/ HC[i]=(char *)malloc((n-start)*sizeof(char));/*为第i个编码分配空间,(n-start)为编码长度*/ strcpy(HC[i], cd[start]); //从cd复制编码串到HC } free(cd); } //HuffmanCoding * 例:已知某系统在通信联络中只可能出现8种字符,其概率分别为{0.15, 0.19, 0.07, 0.18, 0.04, 0.23, 0.03, 0.11},试设计赫夫曼编码,并计算对应赫夫曼树的带权路径长度。 1.0 0.19 0.58 0.42 0.23 0.25 0.33 0.11 0.14 0.15 0.18 0.07 0.07 0.03 0.04 WPL=0.19*2+0.23*2+0.11*3+0.03*5 +0.04*5+0.07*4+0.15*3+0.18*3 =2.79 * 复 习 题 对于一棵具有n个结点、度为4的树来说_____。 A. 树的高度至多是n-3 B. 树的高度至多是n-4 C. 第i层上至多有4*(i-1)个结点 D. 至少在某一层上正好有4个结点 在下列存储中,______不是树的存储形式。 A. 双亲表示法 B. 孩子链表示法 C. 孩子兄弟链表示法 D. 顺序存储表示法 A D * 复 习 题 用双亲存储结构表示树,其优点之一是:比较方便_____。 A. 找指定结点的双亲结点 B. 找指定结点的孩子结点 C. 找指定结点的兄弟结点 D. 判断某结点是不是叶子结点 用孩子链存储结构表示树,其优点是______比较方便。 A. 判断两个指定结点是不是兄弟 B. 找指定结点的双亲 C. 判断指定结点在第几层 D. 计算指定结点的度数 A D * 如果在树的孩子兄弟链存储结构中有6个空的左指针域,7个空的右指针域,5个结点的左、右指针域都为空,则该树中树叶的个数是______。 A. 7个 B. 6个 C. 5个 D. 不能确定 如果用孩子兄弟链来表示一棵具有n(n1)个结点的树,则在该存储结构中_____。 A. 至多有n-1个非空的右指针域 B. 至少有2个空的右指针域 C. 至少有2个非空的左指针域 D. 至多有n-1个空的右指针域 复 习 题 A B C (C) A B (D) A B C (A) D B B * 如果用孩子兄弟链来表示一棵具有n(n1)个结点的树,则在该存储结构中_____。 A. 至多有n-1个非空的右指针域 这句话的意思是至少有1个空的右指针域,即至少有1个结点没有右兄弟;但是我们知道因为结点总数1,即除了根结点外,第2层上至少有一个结点,所以应该是至少有2个结点没有右兄弟。换句话说至多有n-2个非空的右指针域。 B. 至少有2个空的右指针域 因为结点总数1,所以至少根结点和第2层中最右边的结点均没有右兄弟,即至少有2个空的右指针域 复 习 题 A B C (A) D * 如果用孩子兄弟链来表示一棵具有n(n1)个结点的树,则在该存储结构中_____。 C. 至少有2个非空的左指针域 这句话的意思是至少有两个结点有孩子,但是从图上可以看出当结点总数1时,至少有1个结点(即根结点)是有孩子的,即至少有1个非空的左指针域 D. 至多有n-1个空的右指针域 这句话的意思是至多有n-1个结点没有右兄弟,但是从图上可以看出,至多有n个结点可以没有右兄弟 复 习 题 A B C (C) A B (D) * 设森林F中有3棵树,第1、2和3棵树的结点个数分别为m1、m2和m3。与森林F对应的二叉树根结点的右子树上的结点个数是______。 A. m1 B. m1+m2 C. m3 D.
文档评论(0)