数据结构,数据结构1696: 数据结构-广义表的基本操作题解

痛心疾首 算法基础篇 36 0
想要检验自己的编程水平?来试试全网最全C++题库,让您在挑战中不断进步。
广义表是线性表的推广和扩展,它被广泛的应用于人工智能等领域的表处理语言LISP语言中,在LISP中,广义表是基本的数据结构,甚至程序本身也可以被表示为一系列的广义表,由于广义表列表中的数据元素可能具有不同的结构,因此难以用顺序存储结构表示,而通常采用链式存储结构,每个数据元素用一个结点来表示,而结点的结构可以为原子或列表,因此需要两种结构的结点,常用的广义表存储方式可以是头尾链表存储,其形式定义如下:

广义表是线性表的推广和扩展。它被广泛的应用于人工智能等领域的表处理语言LISP语言中。在LISP中,广义表是基本的数据结构,甚至程序本身也可以被表示为一系列的广义表。 由于广义表列表中的数据元素可能具有不同的结构,因此难以用顺序存储结构表示,而通常采用链式存储结构,每个数据元素用一个结点来表示。而结点的结构可以为原子或列表,因此需要两种结构的结点。常用的广义表存储方式可以是头尾链表存储,其形式定义如下: 广义表的深度定义为广义表中括号的重数,是广义表的一种量度。通过递归算法可以求得广义表的深度,算法描述如下: 而广义表的复制同样也可以通过递归算法得到实现,算法描述如下: 广义表可以被表示成一个字符串,即广义表的书写形式。我们将会给出一个广义表的书写形式字符串,请通过如下所示的算法将其转换成广义表,并将得到的广义表复制为新的广义表,计算并输出新的广义表的深度。

数据结构,数据结构1696: 数据结构-广义表的基本操作题解
-第1张图片-东莞河马信息技术
(图片来源网络,侵删)
不断学习,不断挑战,才能在编程领域中脱颖而出!全网最全C++题库,助您成为编程高手!

标签: 数据结构 数据结构1696: 数据结构-广义表的基本操作题解