文章
261
粉丝
19
获赞
402
访问
86.4k
(1) 哈夫曼树(2)从根节点出发,往左子树向下遍历为0,右子树为1,从第一个编码开始,直到遍历至叶节点则为所要字符(3)从编码开始按照左0右1进行二叉树遍历,如果遍历结束所在结点含有孩子,则不具备前缀特性。
评分及理由
(1)得分及理由(满分4分)
学生回答“哈夫曼树”。哈夫曼树是前缀编码的一种具体实现方式,其本质是一种二叉树结构。题目问的是“哪种数据结构适宜保存”,标准答案中隐含了二叉树(或哈夫曼树)这一数据结构。学生的回答直接点明了具体的数据结构名称,且正确。因此得4分。
(2)得分及理由(满分3分)
学生描述了译码过程:“从根节点出发,往左子树向下遍历为0,右子树为1,从第一个编码开始,直到遍历至叶节点则为所要字符”。该描述基本正确,但不够完整。它描述了解码单个字符的过程,但没有明确指出在解码完一个字符后,需要“重新从根节点开始”解码下一个字符。考虑到核心过程(根据0/1从根走到叶)已经说明,扣1分。得2分。
(3)得分及理由(满分3分)
学生描述:“从编码开始按照左0右1进行二叉树遍历,如果遍历结束所在结点含有孩子,则不具备前缀特性。”这个描述存在逻辑错误和表述不清。判定前缀特性,通常需要将所有编码插入一棵树(如二叉Trie树)中,如果在插入某个编码时,路径终点不是新建的叶子节点(即该节点已被其他字符占用),或者插入过程中经过了其他字符的终点节点,则不具有前缀特性。学生的描述“遍历结束所在结点含有孩子”意味着该结点不是叶子,这确实是违反前缀特性的一种情况(说明该编码是其他编码的前缀),但忽略了另一种情况:其他编码是该编码的前缀(即遍历路径中经过了其他字符的终点)。判定过程描述不完整且易产生歧义。扣2分。得1分。
题目总分:4+2+1=7分
登录后发布评论
暂无评论,来抢沙发