数据结构 树 思考题

全部每周作业和视频思考题答案和解析 见 浙江大学 数据结构 思考题+每周练习答案汇总

题目1:有一个m棵树的集合(也叫森林)共有k条边,问这m颗树共有多少个结点?

如图,该树一共有5个节点,并且有4条边。因为根节点是没有边的。

每个树都有一个根节点,所以m颗树,一共有m个根节点,再加上一共有k条边,总共m+k个节点。

题目2:在用“儿子-兄弟”法表示的树中,如果从根结点开始访问其“次子”的“次子”,所经过的结点数与下面哪种情况一样?(注意:比较的是结点数,而不是路径)

  • A. 从根结点开始访问其“长子”的“长子”

  • B. 从根结点开始访问其“长子”的“长子”的“长子”

  • C. 从根结点开始访问其“长子”的“长子”的“长子”的“长子”

  • D. 不能确定,要看具体树结构

访问到次子:两个节点,再到次子的次子,又是两个节点。共4个节点。

A:长子的长子,两个节点。

B:三个节点。

C:四个节点。

题目3:在分量1~11的数组中按从小到大顺序存放11个元素,如果用顺序查找和二分查找分别查找这11个元素,哪个位置的元素在这两种方法的查找中总次数最少?

在顺序查找中,分量为1——11的数据查找的次数分别为1——11次。

在二分查找中:

分量查找次数
13
24
32
43
54
61
73
84
92
103
114

我们在填上面的表的时候,有个小技巧,不用从第一个开始算,而是先算第一次查找到的数据:分量为6,所以6的查找次数为1。

需要两次来查找到的数据要么是3,要么是9。需要三次来查找的数据是1 4 7 10。

我们分别计算一下总次数,可以得到1的时候查找次数最少。

题目4:一棵度为 m的树有n个节点。若每个节点直接用m个链指向相应的儿子,则表示这个树所需要的总空间是n*(m+1) (假定每个链以及表示节点的数据域都是一个单位空间).。当采用儿子/兄弟(First Child/Next Sibling)表示法时,所需的总空间是:

因为每个节点都得需要m个链来指向相应的儿子,再加上一共有n个节点,故一共有n*(m+1)个子节点。

现在考虑儿子/兄弟表示法,把n个节点串联起来,因为每个节点都有两个部分组成,一个是指向下一个兄弟节点,一个是指向子节点,所以在树中,这两个部分都是需要作为一个单位(即链)来存储的,加上n个节点本身,一共需要3n个空间。

  • 23
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Dezeming

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

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

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

打赏作者

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

抵扣说明:

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

余额充值