广义表的长度怎么算
发布网友
发布时间:2022-05-06 22:56
我来回答
共3个回答
热心网友
时间:2023-09-30 12:28
广义表的长度,指的是广义表中所包含的数据元素的个数。由于广义表中可以同时存储原子和子表两种类型的数据,因此在计算广义表的长度时规定,广义表中存储的每个原子算作一个数据,同样每个子表也只算作是一个数据。广义表的深度,可以通过观察该表中所包含括号的层数间接得到。
(广义表的存储结构用头尾链法)[数据结构(c语言版)]根据已知字符串:(a,(b,c),d)建立一个广义表L,并遍历它,然后计算并输出广义表的长度和深度
广义表的长度指的是广义表中数据元素的数量。这里需要指明的是,一个广义表中,一个原子算做是一个元素,一个子表也只算做一个元素。
在 LS = (a1,a2,…,an) 中,ai表示原子或者子表, LS 的长度为 n。
热心网友
时间:2023-09-30 12:28
广义表(General
Lists)是n(n??0)个数据元素a1,a2,
...
,
an的有限序列,通常记作:LS
=
(
a1,a2,
...
,
an
)其中,LS为表名,ai(0??
i
??
n-1)是表中元素,或为不可分割的单元素(称为原子),或为广义表(称为子表或表元素)。n是表的长度,即表中元素的个数。长度为0的表为空表。显然,线性表可以看作广义表在数据元素为单元素时的特殊情况。例如,以下A、B、C、D、E、F都是广义表,习惯上,用大写字母表示表名,小写字母表示原子。
A
=
(
)B=(d,e)C=
(a,
(b,
c))D
=
(A,
B,C)
=((),(d,e),(a,(b,c)))E
=
(a,
E)
=(a,(a,(a,…)))F=((a,(a,b),((a,b),c)))
其中,A表是一个空表,其长度为0
;B表是含两个单元素d,e的表,其长度为2
;C表是含一个单元素a,一个表元素(b,c)的表,其长度为2
;D表是含A,
B,C三个表元素的表,其长度为3
;E表是含一个单元素a,一个表元素E的表,其长度为2
;F表只含一个表元素(a,(a,b),((a,b),c)),其长度为1。该表元素中又包含了三个元素,一个是单元素,两个表元素。
热心网友
时间:2023-09-30 12:29
广义表(lists,又称列表)是线性表的推广。即广义表中放松对表元素的原子*,容许它们具有其自身结构。
1、广义表定义
广义表
是n(n≥0)个元素a
1
,a
2
,…,a
i
,…,a
n
的有限序列。
其中:
①a
i
--或者是原子或者是一个广义表。
②广义表通常记作:
ls=(
a
1
,a
2
,…,a
i
,…,a
n
)。
③ls是广义表的名字,n为它的
长度
。
④若a
i
是广义表,则称它为ls的
子表
。
注意:
①广义表通常用圆括号括起来,用逗号分隔其中的元素。
②为了区分原子和广义表,书写时用大写字母表示
广义表
,用小写字母表示
原子
。
③若广义表ls非空(n≥1),则a
l
是ls的表头,其余元素组成的表(a
1
,a
2
,…,a
n
)称为ls的表尾。
④广义表是递归定义的