广义表简单介绍

1.定义

顾名思义,广义表是线性表的推广,也称为列表。广泛应用于人工智能等领域的表处理语言 LISP 语言。
广义表是由 n(>=0) 个标元素组成的有限序列
一般记作: LS =(a1,a2,a3......,an) LS 是广义表的名称, n 是它的长度
在广义表中, ai 可以是单个元素,也可以是广义表。
A=() A是一个空表,长度为0
B=(e) B只有一个原子e,其长度为零
C=(a,(b,c,d)) C的长度为2,有两个元素
D=(A,B,C)
E=(a,E) 递归 广义表也可以是其本身的一个子表
广义表D

 

运算
取表头 GetHead(LS): 取出非空广义表的表头 ( 第一个元素 )
取表尾 GetTail(LS): 取出非空广义表除表头之外其余元素构成的表是表尾。即表尾一定是一个广义表。

2.存储结构

广义表通常采用两种链式储存结构
头尾链表
广义表不空时,一个表结点由三个域组成:标志域、表头、表尾
一个原子结点只需两个域:标志域和值域

 

 

扩展线性链表
无论原子结点还是表结点均由三个域组成。

 

 

3.总结

广义表是另外一种线性表的推广形式,线性表可以堪称广义表的特例。
广义表在某种前提下可以兼容线性表、数组、树和有向图等各种常用的数据结构。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

懒洋洋大魔王

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

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

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

打赏作者

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

抵扣说明:

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

余额充值