数据结构之广义表

广义表的概念

广义表的概念

广义表一般记作GL=(d1,d2,…,dn)
GL:广义表的名称。
n:长度,结点的个数。
di:可为单个元素,也可为广义表(子表),分别称为原子结点和表结点。
表头:d1。
表尾:其余元素组成的子表,即去掉表头元素的结果(d2,d3,…,dn)。
可见,广义表的定义是递归定义的。
例如:
D=( ):空表,n=0
A=(a,(b,c)):n=2,元素a、子表(b,c)
B=(A,A,D):n=3,元素是A、A、D
C=(a,C):n=2,一个递归的的表,元素是a、C。相当无穷表(a,(a,(…)))
head(A):a
tail(A):((b,c))

广义表的重要特点

广义表的元素可以是子表,而子表的元素还可以是子表,具有层次性。
例如: A=(a,((b),c))
广义表可被其它广义表共享。
例如: B=(A,A,D)
广义表具有递归性。
例如: C=(a,C)

广义表的深度

广义表中括号嵌套的最大层数。
例如:
D=( ):深度1
A=(a,(b,c)):深度2
B=(A,A,D):深度1
C=(a,C):深度1
E((a,(b,c),((a,b),c))):深度4

广义表的存储结构

广义表的头尾链表存储结构

(1) 广义表的确定
一对确定的表头和表尾可以唯一的确定一个广义表。
表头可以是原子结点或表结点,表尾一定是表结点。
(2) 广义表的结点
在这里插入图片描述
(3) 广义表的头尾链表存储结构类型定义
(4) 举例:头尾链表存储结构
D=( )
A=(a,(b,c))
在这里插入图片描述

2广义表的同层结点链存储结构

(1) 结点
在这里插入图片描述
(2) 广义表的同层结点链存储结构类型定义
在这里插入图片描述
(3) 举例:同层结点链存储结构
D=( )
A=(a,(b,c))
在这里插入图片描述
欢迎大家加我微信交流讨论(请备注csdn上添加)

在这里插入图片描述

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程子的小段

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值