PTA:理论题目集

大一下半期数据结构

1、若森林F有15条边、25个结点,则F包含树的个数是:10当一棵树的时候:结点数=边数+1;边数=结点数-1
(每多一棵树,结点数便多一个)
一棵树:边数=结点数-1
两棵树:边数=结点数-2
····
n棵树:边数=结点数-n
2、以二叉链表作为二叉树的存储结构,在具有n个结点的二叉链表中(n>0),空链域的个数为n+1
在二叉树中,有度为2,度为1,度为0.
度为0时有2个空链域,度为1时有1个空链域,度为2时无空链域。
空链域:2n2+1n1=n0+n2+1+n1=n+1
{n0=n2+1、n=n1+n2+n3}
3、将森林转换为对应的二叉树,若在二叉树中,结点u是结点v的父结点的父结点,则在原来的森林中,u和v可能具有的关系是:2
1.父子关系; 2. 兄弟关系; 3. u的父结点与v的父结点是兄弟关系
基本原理是树的孩子兄弟表示法。我们可以采用如下方法进行转化。步骤:①将树中结点的所有兄弟结点用水平线连接起来;②除保留当前结点同其最左子结点的连接之外,将所有同其余子结点的连接线全部删除;同时将当前结点同其最左子结点的连接线修改为垂直连接;③将得到的图形顺时针旋转45度,即得二叉树。(或将当前纸面逆时针旋转45度,即得):将森林转换成二叉树的方法与一棵树转换成二叉树的方法类似,只是把森林中所有树的根结点看作兄弟关系,并对其中的每棵树依次转换。转化步骤为:①将森林中所有的树都转化为二叉树;②第一棵树T1的根结点作为T的根结点,T1的根结点的子树转化为T的左子树,森林的其它树T2,T3,…Tn转化为T的右子树。
4、设森林F中有三棵树,第一、第二、第三棵树的结点个数分别为M​1​​,M​2​​和M​3​​。则与森林F对应的二叉树根结点的右子树上的结点个数是:M2+M3
根据森林转换为二叉树的法则,二叉树的根结点通常是第一棵树的结点,二叉树的左子树是由第一棵树删去根后所得所有子树构成的,二叉树的右子树是由其它树(第二,第三棵树)构成的,故左子树结点个数是M1-1,右子树上的结点个数是M2+M3。
5、由若干个二叉树组成的森林F中,叶结点总个数为N,度为2的结点总个数为M,则该集合中二叉树的个数为: M-N

发布了47 篇原创文章 · 获赞 12 · 访问量 7261

猜你喜欢

转载自blog.csdn.net/weixin_43717681/article/details/89578906