软件设计师学习笔记——数据结构——广义表

软件设计师学习笔记——数据结构——广义表


欢迎大家去作者本人的B站的频道,观看相同的内容
https://www.bilibili.com/read/cv17005158
PS:本人学生一名,自学,没有项目经验,可能对程序的理解有误,有问题欢迎提出。
变量的名字有翻译,单击变量的右上角的数字,到文章的下面,有对变量的解释。理解之后,单击对应解释的后面回车键可回到刚刚阅读的地方。
广义表是有0个或多个元素或子表所主成的有限序列。

它与线性表最大的区别就是:其中的子表也可以是广义表本身或者是另外一个广义表。而它的长度是元素的个数,深度是他的最大层数。

这里由两个东西需要简单的说明一下,原子和子表

原子可以理解为元素,子表可以理解为另一个表

由于广义表的结构的复杂,各种的运算不如线性表简单,所以这里就只讨论的两个重要的运算。

1.取表头:就是非空广义表中的第一个元素,但这个元素可以是单元素,也可以是子表。

2.取表尾:就是非空广义表中除表头元素外,由其余的元素所构成的表。注意,非空广义表的表尾必定是一个表

特点:

1.可以多层次,即元素可以是子表,而这个子表里面可以存放另一个子表,而这个另一个子表里也可以存放另另一个子表,以此类推

2.广义表的元素可以是已经被定义的广义表,也就是表A和表B,都可以拥有表c的东西

3.可以递归,即元素可以是本身

这种特殊的表,是一种层次的非线性的结构,一般采用链式结构
有一个广义表的广义表
图上,就是单个元素广义表。
有一个广义表的广义表

图上,就是有一个广义表的广义表。指向自己的广义表
图上,就是指向自己的广义表。

即使,我没有对其讲解,其实看这三个图,多多少少也能看的出来,它们的结构。

所以就不过多的讲解了。
欢迎大家去作者本人的B站的频道,观看相同的内容,拜托了,增加浏览量一下
https://www.bilibili.com/read/cv17005158

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值