文章

63

粉丝

0

获赞

0

访问

2.6k

头像
2017年计算机学科专业基础综合试题 - 第41题回答
数据结构
发布于2025年10月14日 14:55
阅读数 58

(1)输出的是每一个左子树的结果和右子树的结果进行运算

(2)

string f(BTree *a){

 if(a!=NULL){

  return f(a.left)+a.data+f(a.right);

}

}


评分及理由

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

得分:1分

理由:学生仅提到"输出每一个左子树的结果和右子树的结果进行运算",这体现了对二叉树遍历的基本理解,但完全没有涉及表达式树转换为中缀表达式的核心问题——括号的添加规则。没有说明何时需要添加括号以及如何确定括号的层次,设计思想过于简单,未能达到题目要求。

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

得分:2分

理由:

  • 代码采用了中序遍历的思路,基本方向正确(+2分)
  • 存在严重逻辑错误:没有处理括号添加的问题,无法正确反映运算优先级(-4分)
  • 语法错误:使用了string类型但未包含相应头文件,且C语言中没有string类型(-2分)
  • 语法错误:a.left和a.right应该是a->left和a->right(-2分)
  • 边界情况处理不完整:没有处理空指针返回值的具体处理(-1分)
  • 函数设计不合理:应该直接输出而非返回字符串,否则无法控制括号的添加(-1分)

题目总分:1+2=3分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发