广义表

Posted song.yan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了广义表相关的知识,希望对你有一定的参考价值。

1,什么是广义表?

广义表是由n个表元素组成的有限序列,是线性表的推广。

通常使用递归的形式进行定义,记做:LS=(a0,a1,...,an)

注:

其中LS是表名,ai是表元素,可以是表(称作子表),也可以是数据元素(成为原子)。其中n是广义表的长度(也就是最外层包含的元素个数),n=0的广义表是空表;而递归定义的重数就是广义表的深度,直观的说,就是定义中所含括号的重数(原子的深度为0,空表的深度为1)。例:LS=(1,(2,3),(4,5))

2,基本的运算:

head(LS):取出最外层表的第一个元素

nail(LS):取出最外层表中除第一个元素外的所有元素。

3,常考题型

(1)计算广义表LS=(1,(2,3),(4,5))的长度,深度

  长度:3【最外层的元素个数】

   深度:2【嵌套的层数】

(2)写出取出2的操作

  head(head(nail(LS)))

解析:

  nail(LS)=((2,3),(4,5)

   head(nail(LS))=(2,3)

   head(head(nail(LS)))=2

 

以上是关于广义表的主要内容,如果未能解决你的问题,请参考以下文章

广义表的概念及存储表示

广义表

广义表

广义表及其推广

数据结构28:广义表及M元多项式

广义表