广义表和串 - 习题

已知Head(Tail([Head(S), Head(Tail(Tail(S)))])) = [a],广义表 S 满足上式,则 S 为 ( )

A. [[a, b], b, a]
B. [[b, a], [a], [b]]
C. [[a], [a, b], [b]]
D. [b, [a], [a, b]]
E. [[a], [b], [b, a]]
F. [[b], [b, a], [a]]

解:

  • A 选项为 a,B 选项为 [b],C 选项为 [b], D 选项为 [a, b],E 选项为 [b, a],F 选项为 [a],故选 F

广义表 (( )) 的表头是 ( ),表尾是 ( )

A. ( )            B. NIL            C. (( ))            D. ((( )))

解: A, A。NIL 即空表

将线性表的数据元素进行扩充,允许是带结构的线性表的是 ( )

A. 串            B. 树            C. 广义表            D. 栈

解: C

下面说法不正确的是 ( )

A. 广义表的表头总是一个广义表
B. 广义表的表尾总是一个广义表
C. 广义表难以用顺序存储结构
D. 广义表可以是一个多层次的结构

解:

  • 非空广义表的取头运算结果是广义表的第一个元素(原子或子表),而取尾运算结果是广义表去除第一个元素后所剩元素的子表,肯定是广义表,故选 A
posted @ 2021-12-23 13:15  絵守辛玥  阅读(112)  评论(0)    收藏  举报