一个广义表 L = (a, (b, c), (d, (e, f))), 若采用头尾链表存储结构表示,则表头和表尾分别对应什么?
答案解析
核心考点说明:本题考察广义表的头尾链表存储结构以及表头和表尾的概念。
解题思路分析:广义表的头尾分解法中,表头是指广义表的第一个元素(可以是原子或广义表),而表尾是除去第一个元素剩下的元素构成的广义表。需要注意的是,表尾始终是一个广义表,即使只包含一个元素或为空。
选项分析:
A:错误。表尾必须是一个广义表,不是单纯的剩下的元素,应该用括号括起来。
B:错误。表头虽然是广义表,但是该表头的表尾为空,所以它应该是一个原子。
C:正确。表头为广义表 L 的第一个元素 a。表尾为除去第一个元素 a 剩下的元素构成的广义表,即 ((b, c), (d, (e, f)))。
D:错误。表头是原子,而非广义表,且表尾的表示也是错误的。
易错点提醒:容易混淆表头和表尾的概念,特别是表尾始终是一个广义表。同时,注意区分原子和广义表的表示方法。
正确答案:C