文章

62

粉丝

0

获赞

0

访问

1.5k

头像
2014年(408)计算机学科专业基础综合试题 - 第41题回答
数据结构
发布于2025年11月26日 19:15
阅读数 40


评分及理由

(1)得分及理由(满分3分)

得分:0分

理由:学生的基本设计思想存在根本性错误。题目要求计算的是所有叶结点的带权路径长度之和,即每个叶结点的权值乘以它的深度(从根节点到该叶结点的路径长度)。而学生的思路是"将扫描到的非叶结点按孩子结点个数为1,将其weight×2加入总WPL计数",这完全不符合WPL的定义,没有考虑结点深度,也没有正确识别叶结点的处理方式。

(2)得分及理由(满分4分)

得分:2分

理由:学生的数据类型定义基本正确,包含了weight、left和right三个域。但存在以下问题:
1. 结构体名称使用了"tree",在C/C++中通常使用"BiTNode"等更明确的名称
2. 指针定义有语法错误:"struct *tree left"应为"struct tree *left"
3. 类型别名定义有重复:"tree, *tree"中第二个应该是不同的指针类型名称
由于核心结构正确但存在语法错误,给予部分分数。

(3)得分及理由(满分6分)

得分:0分

理由:算法实现存在严重逻辑错误:
1. 没有正确计算深度,完全忽略了深度参数
2. 对非叶结点的处理逻辑错误(直接加weight而不是深度×weight)
3. 递归调用时没有传递深度信息
4. 参数传递方式错误(sum按值传递,无法正确累加)
5. 缺少返回值
算法整体思路与WPL计算要求不符,无法正确计算结果。

题目总分:0+2+0=2分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发