文章

52

粉丝

0

获赞

0

访问

1.7k

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


评分及理由

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

学生答案中给出的排列顺序是 {"for", "repeat", "do", "while"},对应的概率分别是 0.15、0.15、0.35、0.35。按照查找概率降序排列应该是 {"do", "while", "for", "repeat"} 或 {"while", "do", "for", "repeat"} 等,但学生给出的排列顺序并不是按概率降序排列,而是将概率较小的元素放在前面。然而,学生明确指出了使用顺序查找方法,这是正确的。计算平均查找长度时,学生没有给出具体计算过程和结果,但根据排列顺序,实际平均查找长度应为 0.15×1 + 0.15×2 + 0.35×3 + 0.35×4 = 3.1,这比题目给出的折半查找的 2.2 还要差,因此排列顺序错误。但考虑到学生正确指出了顺序查找方法,且标准答案中允许按实际元素表示降序排列,但学生排列明显不符合降序,因此扣分。得分为 1 分(仅给方法分)。

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

学生答案中提出使用二叉排序树,并给出了具体的节点关系:根节点为 "for"(概率 0.15),左子节点为 "do"(概率 0.35),右子节点为 "repeat"(概率 0.15),"repeat" 的右子节点为 "while"(概率 0.35)。这种构建方式不是最优的二叉排序树,因为最优二叉搜索树应该将高概率节点放在靠近根的位置。学生计算的平均查找长度为 0.15×1 + 2×(0.35+0.15) + 3×0.35 = 0.15 + 1 + 1.05 = 2.2,但根据其节点关系,实际查找长度应为:"for" 查找长度 1(概率 0.15),"do" 查找长度 2(概率 0.35),"repeat" 查找长度 2(概率 0.15),"while" 查找长度 3(概率 0.35),所以平均查找长度 = 0.15×1 + 0.35×2 + 0.15×2 + 0.35×3 = 2.2。虽然计算过程有误(2×(0.35+0.15) 不正确),但最终结果 2.2 正确。根据标准答案,二叉排序树方法可以接受,且计算正确给分。得分为 4 分(构建树结构不最优扣 1 分,但计算正确)。

题目总分:1+4=5分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发