文章

35

粉丝

0

获赞

0

访问

1.4k

头像
2012年计算机学科专业基础综合试题 - 第42题回答
数据结构
发布于2025年10月17日 18:37
阅读数 30


评分及理由

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

得分:3分

理由:学生基本理解了算法思想,包括计算链表长度、对齐指针、同步遍历等关键步骤。但在描述中提到了"若元素相同,则用flag记录当前结点,若之后又遇到不同的,则将flag置为nullptr",这种处理方式存在问题,因为共同后缀应该是连续相同的部分,而不是间断相同的部分。这个逻辑错误影响了算法的正确性。

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

得分:5分

理由:代码实现了长度计算、指针对齐等基本功能,但存在以下逻辑错误:

  1. 在同步遍历时,使用flag和k变量来记录共同后缀起始位置的方法不正确。正确的做法应该是直接比较指针是否指向同一结点,而不是比较数据域。
  2. 代码中当发现数据相同时设置flag,遇到不同时重置flag,这会导致找到的可能是间断的相同数据而不是连续的共同后缀。
  3. 循环条件使用i->next && j->next,但实际应该比较当前结点是否相同,而不是下一个结点。

这些逻辑错误导致算法无法正确找到共同后缀的起始位置。

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

得分:0分

理由:学生没有说明算法的时间复杂度,按照题目要求应该给出时间复杂度分析。

题目总分:3+5+0=8分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发