习题整理1.1、2、3

本文详细解析了二叉树的性质与形态,包括中序线索二叉树的前驱节点、二维数组的声明、卡特兰数与二叉树形态的关系,以及JAVA反射机制和有向图环检测。同时涵盖数据结构如堆栈的特点和平衡二叉树的插入,还讨论了数组作为函数参数的处理和不同类型变量转换的问题。
摘要由CSDN通过智能技术生成

11.若X是二叉树中序线索树中一个有左孩子的结点,且X不为根,则X的前驱为
在这里插入图片描述
解析:最右节点不一定是叶节点
15.以下二维数组声明中,正确的是( )。
在这里插入图片描述
解析:A.char str [ 2 ] [ 3 ] 表示声明了一个字符串的数组,最多可以存放两个字符串,每一个字符串的长度为3。题中{“a”,“b”,“c”}为三个字符串。
C.在声明数组时,数组个数可以缺省,数组长度不能缺省。该项中数组长度缺省。
D.同上

17.具有八个结点的二叉树共有多少种()?
在这里插入图片描述
解析:*(1)先考虑只有一个节点的情形,设此时的形态有f(1)种,那么很明显f(1)=1
(2)如果有两个节点呢?我们很自然想到,应该在f(1)的基础上考虑递推关系。那么,如果固定一个节点后,左右子树的分布情况为1=1+0=0+1,故有f(2) = f(1) + f(1)
(3)如果有三个节点,(我们需要考虑固定两个节点的情况么?当然不,因为当节点数量大于等于2时,无论你如何固定,其形态必然有多种)我们考虑固定一个节点,即根节点。好的,按照这个思路,还剩2个节点,那么左右子树的分布情况为2=2+0=1+1=0+2。
所以有3个节点时,递归形式为f(3)=f(2) + f(1)f(1) + f(2)。(注意这里的乘法,因为左右子树一起组成整棵树,根据排列组合里面的乘法原理即可得出)
(4)那么有n个节点呢?我们固定一个节点,那么左右子树的分布情况为n-1=n-1 + 0 = n-2 + 1 = … = 1 + n-2 = 0 + n-1。此时递归表达式为f(n) = f(n-1) + f(n-2)f(1) + f(n-3)f(2) + … + f(1)f(n-2) + f(n-1)
接下来我们定义没有节点的情

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值