广义表:一种扩展的线性表结构
创作时间:
作者:
@小白创作中心
广义表:一种扩展的线性表结构
引用
1
来源
1.
https://www.cnblogs.com/yuanyu610/p/17090410.html
广义表是一种扩展的线性表结构,在计算机科学的数据结构领域有着重要的应用。它允许表的元素既可以是原子,也可以是另一个广义表,这种特性使得广义表能够表示更复杂的数据结构。本文将详细介绍广义表的基本概念、性质以及相关示例。
广义表的基本定义
广义表是一种扩展的线性表,又称为列表(Lists)。它是由n(n>=0)个元素组成的有限序列,其中每一个元素ai可以是一个原子或另一个广义表。通常用大写字母表示广义表,小写字母表示原子。一个广义表LS可以表示为:
LS=(a1,a2,...,an)
其中,LS为表名,n为表长,ai为表的元素。广义表中的数据元素有相对次序,每个元素都有一个直接前驱和一个直接后继。
表头与表尾
- 表头:若LS非空,则其第一个元素a1就是表头。表头可以是原子,也可以是另一个广义表。记为:head(LS)=a1
- 表尾:除表头之外的其他元素组成的表,表尾是一个字表。记为:tail(LS)=(a2,...,an)
广义表的长度与深度
- 广义表的长度:指最外层所包含元素的个数。
- 广义表的深度:指广义表展开后所包含的括号重数。
共享与递归
广义表可以为其他广义表所共享。例如,广义表B可以通过名称引用共享广义表A:B=(A)。递归表的长度有限,但深度可以是无穷的。
示例说明
下面通过一些具体的例子来帮助理解广义表的概念:
- A=():空表,长度为0
- B=(()):长度为1,表头和表尾都是空表()
- C=((a,(b,c)):长度为1,表头为a,表尾为((b,c))
- D=(x,y,z):长度为3,表头为x,表尾为(y,z)
- E=((b,c)):长度为1,表头为(b,c),表尾为()
- F=(a):长度为1,表头为a,表尾为()
- 共享广义表E=(C,D):长度为2,表头为C,表尾为(D)
- 嵌套广义表F=(a,F)/F=(a,(a,(a,...))):长度为2,表头为a,表尾为(F)
图形化表示
广义表的结构可以通过图形化的方式进行表示,如下图所示:
通过图形化表示,可以更直观地理解广义表的嵌套结构和元素之间的关系。
热门推荐
从中药调理到干细胞移植:骨髓移植后增生减低的治疗指南
古文化街品美食,天津之眼瞰夜景:津城两大地标深度游
崔涂笔下的“水流花谢”:一首跨越千年的“虐心情诗”
《红楼梦》里的“水流花谢”:美好时光的消逝与人生无常
重庆地铁线路图及站点信息全攻略
重庆轮渡开通“九龙渡口—洪崖洞”新航线,60分钟体验19个景点
八字里的婚恋密码:性格、配对与时机全解析
发泡胶甲醛含量真相:2天可挥发完,选购需谨慎
口苦不止是上火?中西医详解原因与调理方法
化石的种类和化石形成过程
红便士取代黑便士:邮票史上的一次技术革新
世界首枚邮票黑便士:维多利亚女王肖像价值百万英镑
简单6步,做出细腻芒果布丁
酥脆香菇干制作详解:从选材到烘焙的完整攻略
家庭自制白凉粉果冻:4种口味配方及详细步骤
青岛文旅新突破:丝路千古情项目落地,观星旅游点亮夜经济
青岛旅游必去三地:崂山览胜,八大关赏建筑,栈桥观海
林高远教你科学佩戴护腕
武器系统优化前瞻 | 武器觉醒优化升级,拟态蓝图免费觉醒!
第四届中国思想史研讨会聚焦“知识的思想史”
王者荣耀S22赛季苏烈出装铭文玩法全攻略
香港工业意外频发,何启明:不排除全港突击检查
启德医院工地事故暴露工业安全监管漏洞
香港工业意外频发,无人机能否拯救?
裴智姸因外形神似Sana引爆《单身即地狱4》热议
自驾或高铁?珠海到张家界最全路线攻略
赵孟頫行书《长歌行》的艺术魅力
阳明心学三大核心,毛泽东学到两点受用终生
108米海上观音、隐秘树屋:三亚南山摄影攻略
何济公牌阿咖酚散:职场人应对头痛的常见选择