题目
4. (多选题)下列关于广义表存储结构的描述, 正确的有 ()A. 广义表常用的存储结构有头尾表示法和孩子兄弟表示法B. 头尾表示法中, 所有节点的结构都完全相同C. 广义表采用链式存储, 无法采用顺序存储D. 孩子兄弟表示法可以将任意广义表转化为一棵二叉树
4. (多选题)下列关于广义表存储结构的描述, 正确的有 ()
A. 广义表常用的存储结构有头尾表示法和孩子兄弟表示法
B. 头尾表示法中, 所有节点的结构都完全相同
C. 广义表采用链式存储, 无法采用顺序存储
D. 孩子兄弟表示法可以将任意广义表转化为一棵二叉树
题目解答
答案
ABCD
A. 广义表常用的存储结构有头尾表示法和孩子兄弟表示法
B. 头尾表示法中, 所有节点的结构都完全相同
C. 广义表采用链式存储, 无法采用顺序存储
D. 孩子兄弟表示法可以将任意广义表转化为一棵二叉树
A. 广义表常用的存储结构有头尾表示法和孩子兄弟表示法
B. 头尾表示法中, 所有节点的结构都完全相同
C. 广义表采用链式存储, 无法采用顺序存储
D. 孩子兄弟表示法可以将任意广义表转化为一棵二叉树
解析
本题考查广义表存储结构的相关知识。解题思路是对每个选项所涉及的广义表存储结构的特点和性质进行逐一分析判断。
- 选项A:
广义表常用的存储结构确实有头尾表示法和孩子兄弟表示法,这两种方法都是用于广义表的链式存储,所以选项A正确。 - 选项B:
在头尾表示法中,所有节点都有相同的结构。每个节点包含一个标志位(tag),用于区分该节点是原子还是子表。当tag为0时表示原子,此时有一个指向原子值的指针;当tag为1时表示子表,此时有一个指向表头的指针和一个指向表尾的指针。所以所有节点结构完全相同,选项B正确。 - 选项C:
广义表是一种递归结构,其元素可以是原子或者子表,并且子表还可以嵌套多层。这种不规则且动态变化的结构使得它很难用顺序存储结构来表示,通常采用链式存储结构,选项C正确。 - 选项D:
孩子兄弟表示法的核心思想就是将广义表(或树)转换为二叉树的形式进行存储。对于广义表中的每个节点,其“第一个孩子”对应二叉树中的左孩子,“下一个兄弟”对应二叉树中的右孩子。所以可以将任意广义表转化为二叉树结构,选项D正确。