#数据结构#已知广义表L=((x,y,z),a,(u,t,w,)),则从L中取出原子项u的运算是?

不需要写完整的算法只需要写head和tail的函数表示!

Tail(L)=(a,(u,t,w))

Tail(tail(L))=((u,t,w)) Ps:主要注意这里:gettail()操作一定是取的子表,不能写成(u,t,w)

Head(Tail(tail(L))=(u,t,w)

Head(Head(Tail(tail(L)))=u

扩展资料:

数据结构的研究内容是构造复杂软件系统的基础,它的核心技术是分解与抽象。通过分解可以划分出数据的3个层次;再通过抽象,舍弃数据元素的具体内容,就得到逻辑结构。类似地,通过分解将处理要求划分成各种功能,再通过抽象舍弃实现细节,就得到运算的定义。

上述两个方面的结合可以将问题变换为数据结构。这是一个从具体(即具体问题)到抽象(即数据结构)的过程。然后,通过增加对实现细节的考虑进一步得到存储结构和实现运算,从而完成设计任务。这是一个从抽象(即数据结构)到具体(即具体实现)的过程。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-12-12
head为取广义表的第一个元素 (可以是原子也可以是子表)tail是取除第一个元素外的剩余元素 操作时由内向外看 先进行tail(L)得到的结果是a(u,t,w)在做tail(tail(L))得到(u,t,w)在进行一步head 即可得到u 也就是head(tail(tail(L)))注意 因为head可以取首子表也可以取首元素 所以楼上的回答head(head(tail(tail(L))))也可以得到u本回答被网友采纳
第2个回答  2021-01-04

Tail(L)=(a,(u,t,w))

Tail(tail(L))=((u,t,w)),主要注意这里:gettail()操作一定是取的子表,不能写成(u,t,w)

Head(Tail(tail(L))=(u,t,w)

Head(Head(Tail(tail(L)))=u

扩展资料

广义表常用表示

① E=()

E是一个空表,其长度为0。

② L=(a,b)

L是长度为2的广义表,它的两个元素都是原子,因此它是一个线性表

③ A=(x,L)=(x,(a,b))

A是长度为2的广义表,第一个元素是原子x,第二个元素是子表L。

④ B=(A,y)=((x,(a,b)),y)

B是长度为2的广义表,第一个元素是子表A,第二个元素是原子y。

本回答被网友采纳
第3个回答  2019-08-05
Tail(L)=(a,(u,t,w))
Tail(tail(L))=((u,t,w)) Ps:主要注意这里:gettail()操作一定是取的子表,不能写成(u,t,w)
Head(Tail(tail(L))=(u,t,w)
Head(Head(Tail(tail(L)))=u
第4个回答  2014-04-04
head(head(tail(tail(L))));追问

这是什么意思呀,能不能稍稍解释一下,谢了!

相似回答