广义表中表头和表尾基本知识

广义表((a,b),c,d)表头和表尾分别是什么?

公式:

(1)表头:当广义表LS非空时,称第一个元素为LS的表头;

(2)表尾:称广义表LS中除去表头后其余元素组成的广义表为LS的表尾。

区别:

表头是元素,表尾是广义表。

 

举个栗子。

广义表(a, (b))的表头是单元素a,表尾是广义表((b))。【要在(b)的外面加一层小括号,才能变成广义表。因此是((b)) 】

广义表(a)的表头是单元素a,表尾是广义表(),为啥是(),不是空呢?明明a后面没有元素了。表尾一定是个广义表。意思就是一定带(),没有元素就有一个单独的()好了。

 

第二个例子。

广义表(a, b, c)的表头是单元素a,表尾是广义表(b,c)。

 

好了,到现在,其实已经清楚了,广义表的表头是单元素,表尾是个广义表。

 

总结: 根据广义表对表头和表尾的定义可知:

(1)对任意一个非空的广义表,其表头可能是单元素,也可能是广义表,

(2)而其表尾一定是广义表。

(3)注意表尾的深度(即括号的嵌套层数)

(4)表尾是由除了表头以外的其余元素组成的广义表,所以,需要在表尾的直接元素外面再加一层括号。

 

求广义表的表头和表尾

求广义表的表头和表尾是广义表的基本操作,给定一个广义表,可以将某个单元素通过表头和表尾求出。

已知广义表L=(a,(b,(c,(d)), e), f )

 

head(LS)表示取表的第一个元素的值,
tail(LS)表示把表中除第一个元素外的所有元素组成一个新表,相当于每次删除表中第一个元素(原表中元素数大于1)。

  ⑴ L1=Tail(L)=((b,(c,(d)), e), f )

  ⑵ L2=Head(L1)= (b,(c,(d)), e)

  ⑶ L3=Tail(L2)=((c,(d)), e)

  ⑷ L4=Head(L3)=(c,(d))

  ⑸ L5=Head(L4)= c

 

posted @ 2022-10-03 21:17  kuailest  阅读(2802)  评论(0编辑  收藏  举报