广义表基础知识一遍过

广义表

广义表是一种复杂的数据结构,它是线性表的扩展,能够表示树结构图结构

广义表的定义

广义表是n(n>=0)个数据元素a0,a1,…an-1组成的有限序列,记为GLIst=(a0,a1,…,an-1),其中ai(0<=i<=n)是原子或广义表,原子市不可分解的数据元素。

**广义表的长度:**最外层包含的元素个数n

当n=0时,为空表

**广义表的深度:**表中所含括号的层数

注意:“原子”的深度为 0 “
“空表”的深度为 1”

**递归表:**深度是无穷值,长度是有限值

例子:

L=(a,b) //线性表,长度为2,深度为1
T=(c,L)=(c,(a,b))//L为T的子表,T的长度为2,深度为2
G=(d,L,T)=(d,(a,b),(c,(a,b)))//L,T为G的子表,G的长度为3,深度为3
S=()//空表,长度为0,深度为1
S1=(S)//非空表,元素是一个空表,长度为1,深度为2
Z=(e,Z)=(e,(e,(e(....))))//递归表,Z的长度为2,深度无穷

表头:当广义表非空时,称第一个元素为该广义表的表头。

表尾:除第一个元素以外,其他的元素组成的表称为该广义表的表尾。

任何一个非空广义表 LS = ( a1, a2, …, an) 均可分解为
表头 Head(LS) = a1 和
表尾 Tail(LS) = ( a2, …, an) 两部分。

注:

1.对任意一个非空的广义表,其表头可能是单元素,也可能是广义表,

2.表尾一定是广义表。

3.表尾是由除了表头以外的其余元素组成的广义表,所以需要在表尾的直接元素外面再加一层括号。

广义表的特性

1.线性结构

2.多层次结构、有深度

3.可共享

4.可递归

posted @ 2020-11-27 13:24  是小徐呀!  阅读(52)  评论(0编辑  收藏  举报  来源