什么是广义表

广义表是一种非线性的数据结构,它的表元素可以是原子或者广义表的一种线性表的扩展结构。

  • 广义表的长度:为表中最上层元素的个数
  • 广义表的深度:为表中括号的最大层数
  • 表头和表尾:当广义表非空时,第一个元素为广义表的表头,其余元素组成的表是广义表的表尾

广义表的常用表示

① E=()
E是一个空表,其长度为0,其深度为1

② L=(a,b)
L是长度为2的广义表,它的两个元素都是原子,因此它是一个线性表,其深度为1

③ A=(x,L)=(x,(a,b))
A是长度为2的广义表,第一个元素是原子x,第二个元素是子表L,其深度为2

④ B=(A,y)=((x,(a,b)),y)
B是长度为2的广义表,第一个元素是子表A,第二个元素是原子y,其深度为3

⑤ C=(A,B)=((x,(a,b)),((x,(a,b)),y))
C的长度为2,两个元素都是子表,其深度为4

⑥ D=(a,D)=(a,(a,(a,(…))))
D的长度为2,第一个元素是原子,第二个元素是D自身,展开后它是一个无限的广义表,其深度为∞

注意:

  1. 广义表通常用圆括号括起来,用逗号分隔其中的元素。
  2. 为了区分原子和广义表,书写时用大写字母表示广义表,用小写字母表示原子。

广义表的存储结构

1. 头尾链表存储结构

表结点
数据结构 —— 广义表

链表结点

数据结构 —— 广义表

头尾链表存储表示
数据结构 —— 广义表

2. 扩展线性链表存储结构

表结点
数据结构 —— 广义表

原子结点

原子结点的表尾指针是指向下一个元素
数据结构 —— 广义表

扩展线性链表存储表示
数据结构 —— 广义表

相关文章:

  • 2021-06-22
  • 2022-12-23
  • 2022-12-23
  • 2021-09-13
  • 2021-12-28
  • 2022-01-24
  • 2021-06-26
  • 2021-10-25
猜你喜欢
  • 2021-06-03
  • 2021-12-22
  • 2021-11-01
  • 2021-05-17
  • 2021-10-26
相关资源
相似解决方案