广义表

1.广义表的定义

广义表是一种非线性的数据结构,顾名思义,它也是线性表的一种推广。线性表被定义为一个有限的 序列(a1,a2,a3,…,an)其中ai被限定为是单个 数据元素。广义表也是n个 数据元素d1,d2,d3,…,dn的有限序列,但不同的是,广义表中的di 则既可以是单个元素,还可以是一个广义表,通常记作:GL=(d1,d2,d3,…,dn)。GL是广义表的名字,通常广义表的名字用大写字母表示。n是广义表的长度。也就是说,广义表的元素也是广义表,是一种递归结构。

2.表头与表尾

广义表的表头是广义表的第一个元素,可以是一个特定的类型,也可以是一个广义表。广义表的表尾是广义表中将除了第一个元素之外的所有元素看做一个广义表,除去表头的部分是表尾。

3.应用举例

l D=() 空表;其长度为零。

l A=(a,(b,c)) 表长度为2的广义表,其中第一个元素是单个数据a,第二个元素是一个子表(b,c)。

l B=(A,A,D) 长度为3的广义表,其前两个元素为表A,第三个元素为空表D。

l C=(a,C) 长度为2 递归定义的广义表,C相当于无穷表C=(a,(a,(a,(…))))。

其中,A,B,C,D是广义表的名字。下面以广义表A为例,说明求表头、表尾的操作如下:

head(A)=a; 表A的表头是:a

tail(A)=((b,c)); 表A的表尾是((b,c))。广义表的表尾一定是一个表。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值