串和广义表

串(字符串string):

  串中字符的数目n称为串的长度。0个字符的串称为空串,长度为0.   包含串中任意个连续字符的串称为子串,包含子串的串称为主串。

  如a="IBM",c="BM" 则a的长度为3,且c为a的子串    b="", 则b的长度为0

  在串的基本操作时候,通常是以“串的整体”作为操作对象。

广义表:

  也成为列表,是线性表的一种扩展,也是数据元素的有限序列。

  记为:LS = (d0,d1,d2,d3……dn-1),其中di既可以是单个元素也可以是广义表。n 为表长。

说明:

  广义表的定义为递归定义,在描述广义表时又出现广义表;

  广义表的数据元素成为原子(单个元素)或子表(广义表)。

举例:

A=()空表,表长为0
B=(a,(b,c,d))表长为2,即a和子表(b,c,d)
C=(e)表长1
D=(A,B,C,f)表长为4,前三个元素A,B,C为广义表,第四个元素为单元素
E=(a,E)递归表,长度为2.E相当于一个无限的广义表,E=(a,(a,(a,……)))

若广义表不空,则可分为表头和表尾,反之,一对表头和表尾可唯一确定广义表。

对非空广义表:称第一个元素为表头,剩下的为表尾。

如:

B=(a,(b,c,d))

表头为a,表尾为((b,c,d));

(PS:表尾为拿掉表头和逗号后剩下的原封不动的写下来,所以有两个括号)

即Head(B)=a; Tail(B)=((b,c,d))

C=(e)Head(C)=e; Tail(C)=()
D=(A,B,C,f)Head(D)=A; Tail(D)=(B,C,f)

此外,运算还可以嵌套:Head(Tail(B))=b;   Tail(Tail(B))=(c,d)

转载于:https://www.cnblogs.com/DSYR/p/9134675.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值