数据结构(C语言)-广义表


广义表是线性表的推广,也称为列表(Lists)。线性表中的元素仅限于单个数据元素(原子),即不可以再分割;而广义表中的元素即可以是原子,也可以是子表。

一、广义表的定义和运算

1、广义表的定义

广义表是n(n>=0)个数据元素a1,a2,a3…an的有序序列,一般记做:
LS=(a1,a2,a3…an)
其中LS是广义表的名称,n是广义表的长度。每个a3(1<=3<=n)是LS非空时,称第一个元素a1为LS的表头(head),称其余元素组成的表(a2,…,ai…,an)为LS的表尾(tail)。显然,广义表的定义是递归的。
广义表通常用圆括号起来,并用逗号分隔开来,通常用大写字母表示广义表,用小写字母表示单个数据元素。下面是广义表的例子:
A=()——A是一个空表,它的长度为零
B=(e)——列表B只有一个原子e,它的长度是1
C=(a,(b,c,d))——列表C的长度为2,两个元素分别为a和子表(b,c,d)
D=(A,B,C)——列表D的长度为3,三个元素都是列表,将A,B,C带入后得D=((),(e),(a,(b,c,d))
E=(a,E)——这是一个递归表,它的长度为2,正相当于一个无限的列表。
广义表的长度指该广义表中所包含的元素(原子和子表&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值