首页 软考中级软件设计师正文

根据其定义,一棵完全二叉树除了最后一层外,其余层的节点数都是满的,最后一层的节点也必须自左至右排列,例如图(a)是高度为 3 的满二叉树,图(b)是完全二叉树,图(c)不是完全二叉树。设 L 为广义表,将 head(L)定义为取非空广义表的第一个元素,tail(L)定义为取非空广义表除第一个元素外剩余元素构成的广义表。若广义表 L=((x,y,z),a,(u,t,w)),则从 L 中取出原子项 y

根据其定义,一棵完全二叉树除了最后一层外,其余层的节点数都是满的,最后一层的节点也必须自左至右排列,例如图(a)是高度为 3 的满二叉树,图(b)是完全二叉树,图(c)不是完全二叉树。设 L 为广义表,将 head(L)定义为取非空广义表的第一个元素,tail(L)定义为取非空广义表除第一个元素外剩余素构成的广义表。若广义表 L=((x,y,z),a,(u,t,w)),则从 L 中取出原子项 y的运算是()。(2009年上半年软件设计师上午基础知识真题解析)
A、head(tail(tail(L)))
B、tail(head(head(L)))
C、head(tail(head(L)))
D、tail(tail(head(L)))






参考答案:C
参考解析:本题考查数据结构方面的基础知识。
广义表是函数式语言中使用的一种数据结构。根据广义表取表头和取表尾的定义,对于广义表 L=((x,y,z),a,(u,t,w)),运算 head(L)=(x,y,z),而 tail(L) =(a,(u,t,w)),因此原子项 y应从 head(L)中取,对(x,y,z)取表头可得到原子项 x,因此从 L 中取出原子项 y 的运算为 head(tail(head(L)))。

* 注意事项

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,转载需标明出处。
软考题网站(https://ruankaoti.com/)提供的相关试题资料仅供个人复习参考使用
如果您有更好的解答,欢迎留言评论。

本文链接:https://ruankaoti.com/post/8043.html

发表评论

评论列表(0人评论 , 135人围观)
☹还没有评论,来说两句吧...

阅读更多

微信扫码,加入打卡学习群,分享学习资料