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

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

当广义表LS非空时,称第一个元素为LS的表头;称广义表LS中除去表头后其余元素组成的广义表为LS的表尾。例如,广义表(a, (b))的表头是单元素a,表尾是广义表((b))。   根据广义表对表头和表尾的定义可知:对任意一个非空的广义表,其表头可能是单元素,也可能是广义表,而其表尾一定是广义表。注意表尾的深度(即括号的嵌套层数),表尾是由除了表头以外的其余元素组成的广义表,所以,需要在表尾的直接元素外面再加一层括号。   求广义表的表头和表尾是广义表的基本操作,给定一个广义表,可以将某个单元素通过表头和表尾求出。例如,已知广义表L=(a,(b,(c,(d)), e), f ),通过表头和表尾操作将单元素c求出,则在求c的每一步均要将包含c的子表或单元素取出,求解过程为:   ⑴ 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   所以,将单元素c从广义表L中取出的操作为:Head(Head(Tail(Head(Tail(L)))))。

表头(a,b) 表尾(c,d) (去掉表头剩下的是表尾)

经验分享 程序员 微信小程序 职场和发展