文章

63

粉丝

0

获赞

0

访问

4.6k

头像
2014年计算机学科专业基础综合试题 - 第41题回答
数据结构
发布于2025年10月21日 18:23
阅读数 67


评分及理由

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

学生答案的基本设计思想:使用先序遍历递归访问所有结点,当遇到叶子结点时,累加其权值与深度的乘积。这与标准答案中基于先序遍历的思想一致,思路正确且完整。

得分:3分

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

学生给出的二叉树结点数据类型定义:

  • 第一次识别:typedef struct Tree{ int Weight; struct Tree *left, *right; }*Treee,; 存在语法错误(多了一个逗号),且指针类型命名不规范。
  • 第二次识别:typedef struct Tree { int weight; struct Tree *left, *right; } Tree; 结构正确,但未使用常见的BiTNode命名,不过不影响使用。

根据两次识别,第二次识别结果正确,因此不扣分。

得分:4分

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

学生给出的算法代码:

  • 使用递归先序遍历,参数deep表示当前深度,符合设计思想。
  • 在叶子结点处累加wpl,逻辑正确。
  • 但学生将wpl定义为全局变量,而标准答案使用static变量或参数传递,全局变量在多线程或多次调用时可能出错,这是一个逻辑缺陷。
  • 代码中null应写为NULL,但可能是识别误差,不扣分。
  • 缺少主函数调用接口(如WPL(BiTree root)),但题目未明确要求,不扣分。

由于全局变量的使用可能导致问题,扣1分。

得分:5分

题目总分:3+4+5=12分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发