【3月第三周学习记录】数据结构与算法王卓-第四章串,数组和广义表-广义表

广义表是线性表的扩展,允许元素包含其他元素或广义表,形成递归数据结构。表头可能是单一元素或广义表,而表尾始终为表。广义表具有层次结构,长度和深度,其中递归表的长度有限但深度可能无限。由于元素大小不一,广义表不适合用数组存储,通常采用链表。广义表的深度理解涉及其层次和递归特性。
摘要由CSDN通过智能技术生成

目录

广义表

定义

一些基本概念

广义表的性质

思考


广义表

定义

广义表可以看成线性表的延申,线性表则是广义表的一种特例。广义表中的元素既可以是元素,也可以是广义表。是一种可以含有递归的数据结构,如F=(a, F)称为递归/嵌套表。

一些基本概念

广义表中最特殊的是表尾的定义:除了表头以外的其他元素组成的子表

表头可以是一个元素或一个表,但表尾一定是一个表

有趣的思考题

判断题:A=(()) ,A的表头与表尾相等

答案:对。都是空表。

更多例子

其中E称为共享广义表,F称为递归/嵌套广义表

 

广义表的性质

广义表是多层次结构,可以用表示。广义表含有次序,也有长度深度。广义表之间互相引用称为共享。其中,广义表的深度稍微需要花点时间理解,请见下图。

特殊的:递归表的长度与深度

如上图中(6)F=(a, F) 。它的长度为2而不是无穷,是有限值;但深度为无穷值

思考

问:广义表能否用数组存储?

答:不能。数组中每一个元素占用同样大小的存储空间,而广义表显然不符合此特征。所以广义表一般使用链表进行存储。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值