【数据结构习题】树

关于一些数据结构中树的小练习与知识点,不定期更新总结内容

1、前中后缀表达式

中:A-B/C+D*E
加完整括号:((A-(B/C))+(D*E))
移动符号并去掉括号
前:+(-(A/(B C))*(D E)) ------> +-A/BC*DE
后:((A (B C)/)-(D E)*)+ ------> ABC/-DE*+

2、一棵树的度是可以小于2的
3、100个结点的完全二叉树采用顺序存储,从1开始按层次编号,则编号最小的叶子结点的编号应该是(51)
【叶子节点是不作为根的结点,它没有左右儿子。如果编号100的结点是左儿子,那么父结点编号是50,此时编号最小的叶子结点编号是51;如果编号100的结点是右儿子,父结点编号同为50,则编号最小的叶子节点编号是51】
5、对任意一棵有n个结点的树,这n个结点的度之和为(n-1)
6、由3 个结点可以构造出(2)种形态不同的无序树
【(1)祖父-父-子;(2)父-左右儿子(两兄弟)】
7、由3 个结点可以构造出(12)种不同的有序树
【3个结点的排列为 A 3 3 = 6 , A_3^3=6, A33=6,乘上2种形态,所以12种不同形态的有序树】
8、由3 个结点可以构造出(5)种形态不同的二叉树,(30)种不同的二叉树
【两层二叉树1种形态,三层二叉树4种形态(左/右儿子分类讨论!)】
【考虑有序性,三个的排列为 A 3 3 A_3^3 A33=6,乘上5种不同形态,所以一共30种不同的二叉树】
9、前缀编码:对字符集进行编码时,要求字符集中任一字符的编码都不是其它字符的编码的前缀
eg.{0,1101,1110,1100,1111}
10、叶子结点数 n 0 n_0 n0=度为2的结点数 n 2 n_2 n2+1
【某结点的度:分支数( ≤ 2 \le2 2),则 总结点数 n s n_s ns=度为0结点数 n 0 n_0 n0(叶子节点数)+度为1结点数 n 1 n_1 n1+度为2结点数 n 2 n_2 n2。紧接着考虑二叉树中的线:总线数 n s n_s ns-1=结点度为1的线数 n 1 n_1 n1+度为2的线数 2 n 2 2 n_2 2n2,联立可得: n 0 = n 2 + 1. n_0=n_2+1. n0=n2+1.
11、有10个叶子结点的哈夫曼树,总结点个数是(19).
【参考10中的解析: n 0 = 10 ⇒ n 2 = n 0 − 1 = 9 , 又 n 1 = 0 ⇒ n s = n 0 + n 1 + n 2 = 19. n_0=10 \Rightarrow n_2=n_0-1=9,又n_1=0 \Rightarrow n_s=n_0+n_1+n_2=19. n0=10n2=n01=9,n1=0ns=n0+n1+n2=19.

待更新…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr.zwX

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值