c/c++语言开发共享多重表(广义表)

在深入浅出数据结构系列前面的文章中,我们一直在讨论“线性表”,其形式如下: 由a1,a2,a3,……a(n 1)个元素组成的序列,其中每一个元素ai(0 …

在深入浅出数据结构系列前面的文章中,我们一直在讨论“线性表”,其形式如下:

由a1,a2,a3,……a(n-1)个元素组成的序列,其中每一个元素ai(0<i<n)都是一个“原子”,“原子”的意思就是说元素本身是一个个体,所有元素都是相同的结构。

但是在我们常见的某些应用,比如excel的表格中,我们发现表并不一定是线性表,excel中的表就明显是二维的结构

多重表(广义表)

那么在数据结构中,我们会使用这种广义上的表吗?答案是会,我们也会、或者说我们也能使用这样的非线性表。其实我们早就已经在使用这样的非线性表、广义表了,那就是多维数组。不难发现二维数组就可以抽象成excel当中的表的样子。那么,广义表的定义是怎样的呢?其实很简单,就是在线性表的基础上稍加修改,我会用绿色将修改了的部分标识出来:

由a1,a2,a3,……a(n-1)个元素组成的序列,其中每一个元素ai(0<i<n)可能又是一个广义表。

可能会有人发现一个小小的问题,就是为什么我又将广义表叫作多重表呢?这其实只是一个理解角度的不同而带来的不同叫法罢了,多重表这种叫法想表达的主要意思是表中的元素可以是另一个表,而这另一个表中的元素又可以是一个表,相当于“一重又一重”的表,所以叫多重表。这个叫法其实并不是很重要。

讲到这儿,多重表的定义和可能的使用场景(想想多维数组可能使用的情况)想必大家都心里有数了,但是这篇博文肯定不能就这么结束了

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/c-cdevelopment/602694.html

(0)
上一篇 2021年5月11日
下一篇 2021年5月11日

精彩推荐