乌龟英语为您分享以下优质知识
3.4 例题举例例 3.1一棵度为2的有序树与一棵二叉树有何区别?解答:一棵度为二的有序树与一棵二叉树的区别在于,有序树的结点次序是相对于另一结点而言的,如果有序树中的子树只有一个孩子时,这个孩子结点就无须区分其左右次序,而二叉树无论其孩子数是否为2,均需确定其左右次序,也就是说二叉树的结点次序不是相对于另一结点而言而是确定的。例 3.2试找出分别满足下面条件的所有二叉树:(1)前序序列和中序序列相同; (2)中序序列和后序序列相同;(3)前序序列和后序序列相同; (4)前序、中序、后序序列均相同。解答:空树满足所有条件。非空树如下:(1) 前序序列和中序序列相同的二叉树是:没有左子树的二叉树(右单支树)。(2) 中序序列和后序序列相同的二叉树是:没有右子树的二叉树(左单支树)。(3) 前序序列和后序序列相同的二叉树是:只有根的二叉树。(4) 前序、中序、后序序列均相同的二叉树:只有根结点的二叉树。例3.3假设用于通信的电文由字符集{a,b,c,d,e,f,g,h}中的字母构成,这8个字母在电文中出现的概率分别为{0.07,0.19,0.02,0.06,0.32,0.03,0.21,0.10}.(1)为这8个字母设计哈夫曼编码。(2)若用这三位二进制数(0...7)对这8个字母进行等长编码,则哈夫曼编码的平均码长是等长编码的百分之几?它使电文总长平均压缩多解答:(1)构造哈夫曼树,可以解得哈夫曼编码为a:0010,b:10,c:00000,d:0001,e:01,f:00001,g:11,h:0011。(2) 用三位二进行数进行的等长编码平均长度为3,而根据哈夫曼树编码的平均码长为:4*0.07+2*0.19+5*0.02+4*0.06+2*0.32+5*0.03+2*0.21+4*0.10=2.612.61/3=0.87=87%其平均码长是等长码的87%,所以平均压缩率为13%。
订阅收藏考研专业课之统考计算机蓝宝书
例3.4以二叉链表为存储结构,写一算法用括号形式(key LT,RT)打印二叉树,其中key是根结点数据,LT和RT是括号形式的左子树和右子树。并且要求空树不打印任何信息,一个结点x的树的打印形式是x而不是(x,)的形式。
例3.5若二叉树中各结点的值均不相同,则由二叉树的前序序列和中序序列,或由其后序序列和中序序列均能唯一地确定一棵二叉树,但由前序序列和后序序列却不一定能唯一地确定一棵二叉树。(1)已知一棵二叉树的前序序列和中序序列分别为ABDGHCEFI和GDHBAECIF,请画出此二叉树。(2)已知一棵二叉树的在序序列和后序序列分别为BDCEAFHG和DECBHGFA,请画出此二叉树。(3)已知一棵二叉树的前序序列和后序序列分别为AB和BA,请画出这两棵不同的二叉树。解答:(1)已知二叉树的前序序列为ABDGHCEFI和中序序列GDHBAECIF,则可以根据前序序列找到根结点为A,由此,通过中序序列可知它的两棵子树包分别含有GDHB和ECIF结点,又由前序序列可知B和C分别为两棵子树的根结点...以此类推可画出所有结点:
>
" src="//i1.w.hjfile.cn/doc/200811/32502.gif" border=0 mce_src="//i1.w.hjfile.cn/doc/200811/32502.gif">
>
" src="//i1.w.hjfile.cn/doc/200811/26508.gif" border=0 mce_src="//i1.w.hjfile.cn/doc/200811/26508.gif">
>
" src="//i1.w.hjfile.cn/doc/200811/52955.gif" border=0 mce_src="//i1.w.hjfile.cn/doc/200811/52955.gif">
>
" src="//i1.w.hjfile.cn/doc/200811/71602.gif" border=0 mce_src="//i1.w.hjfile.cn/doc/200811/71602.gif">
>
" src="//i1.w.hjfile.cn/doc/200811/11087.gif" border=0 mce_src="//i1.w.hjfile.cn/doc/200811/11087.gif">
1 2 3 下一页