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

 

亲们,大部分同学碰到广义表就痛不欲生,其实我想说的是:世上那么多一点都不懂广义表的人都活得那么开心,你还有啥过不过去的。

请看我的公式:

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

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

有的同学上面的(1)(2)看的太快,没有发现表头和表尾的区别。

重点说三遍:表头是元素,表尾是广义表。

重点说三遍:表头是元素,表尾是广义表。

重点说三遍:表头是元素,表尾是广义表。

 

亲,我要举个栗子了。

广义表(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 )

  ⑴ 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

如果以上5个都正确,那么恭喜你已经掌握了广义表的头和尾了。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐