文章

188

粉丝

0

获赞

0

访问

67.5k

头像
2015年(408)计算机学科专业基础综合试题 - 第41题回答
数据结构
发布于2025年11月17日 18:59
阅读数 271

(4)时间复杂度:O(length)

          空间复杂度:O(n)


评分及理由

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

得分:2分

理由:学生给出了基本正确的设计思想,使用辅助数组记录绝对值是否出现过,通过双指针遍历链表进行删除操作。但描述中"p指向head的下一个节点,q指向head"的初始设置不够准确(应该是p指向第一个有效节点,q指向其前驱),且未明确说明数组大小应为n+1。思路核心正确但细节表述不够完善,扣1分。

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

得分:2分

理由:单链表结点的数据类型定义完全正确,使用了typedef定义结构体类型,包含data和link两个成员,符合题目要求。

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

得分:4分

理由:

  • 代码框架基本正确,使用了辅助数组和双指针
  • 存在多个逻辑错误:
    • 数组大小应为n+1而非n(因为|data|≤n,需要0到n共n+1个位置)
    • 数组A未初始化,所有元素初始值应为0
    • 第一个while循环(计算length)逻辑错误,会造成死循环
    • 循环条件使用p->link!=NULL && q->link!=NULL不够准确
    • 删除节点时未释放内存
    • 使用了q->next而非q->link(可能是识别错误)
  • 虽然核心思路正确,但实现存在较多问题,扣4分

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

得分:1分

理由:时间复杂度分析基本正确(O(length)即O(m)),空间复杂度分析正确(O(n))。但时间复杂度写成了O(length)而非标准的O(m),表述不够规范,扣1分。

题目总分:2+2+4+1=9分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发