文章

137

粉丝

0

获赞

0

访问

8.2k

头像
2015年计算机学科专业基础综合试题 - 第41题回答
数据结构
发布于2025年10月22日 15:54
阅读数 27


评分及理由

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

得分:2分

理由:学生第1次识别中提到"长度为 m*n 的数组"这是错误的,但第2次识别中修正为"长度为 n 的数组"是正确的。基本设计思想正确,即使用辅助数组记录绝对值是否出现过。但由于第1次识别中存在明显错误,扣1分。

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

得分:2分

理由:单链表结点的数据类型定义完全正确,使用了typedef定义结构体和指针类型,符合C语言规范。

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

得分:6分

理由:

  • 算法整体思路正确,使用辅助数组记录绝对值出现情况
  • 主要问题:定义了不必要的find函数,但在主函数Fun中并没有使用该函数,而是直接通过数组索引判断,这是正确的做法
  • 代码逻辑基本正确,能够实现删除重复绝对值结点的功能
  • 扣分点:定义了多余的函数(abs和find),且find函数逻辑与主函数中的实现不一致;deletenode函数中传入HEAD参数是多余的;部分语法细节不够规范

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

得分:1分

理由:空间复杂度O(n)正确,但时间复杂度O(mn)是错误的。实际算法的时间复杂度应该是O(m),因为只需要遍历链表一次,每次操作都是O(1)。扣1分。

题目总分:2+2+6+1=11分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发