广义表在王道数据结构哪一章

如题所述

广义表在王道数据结构中的第十三章。

广义表(Lists,又称列表)是一种非连续性的数据结构,是线性表的一种推广。即广义表中放松对表元素的原子限制,容许它们具有其自身结构。它被广泛的应用于人工智能等领域的表处理语言LISP语言中。在LISP语言中,广义表是一种最基本的数据结构,就连LISP语言的程序也表示为一系列的广义表。

广义表是n(n≥0)个元素a1,a2,…,ai,…,an的有限序列。其中:ai或者是单个元素,或者是另一个广义表。若ai是单个元素,则它可以是原子,也可以是子表。若ai是子表,则它是由n(n≥0)个元素a1,a2,…,ai,…,an组成的有限序列,其中:a1是表头(head),它是子表的第一个元素。

由于广义表是对线性表和树的推广,并且具有共享和递归特性的广义表可以和有向图建立对应,因此广义表的大部分运算与这些数据结构上的运算类似。在此,只讨论广义表的两个特殊的基本运算:取表头head(Ls)和取表尾tail(Ls)。

根据表头、表尾的定义可知:任何一个非空广义表的表头是表中第一个元素,它可以是原子,也可以是子表,而其表尾必定是子表。

广义表在数据结构中的重要性:

1、线性表的扩展:广义表是线性表的扩展,它不仅允许元素是原子,还允许元素是另一个广义表。这使得广义表能够更灵活地表示和操作数据结构。

2、递归结构的表示:广义表可以很方便地表示递归结构,如树和图等。由于广义表具有共享和递归特性,它可以和有向图建立对应关系。因此,广义表在表示和处理递归结构方面具有重要的应用。

3、嵌套结构的处理:广义表可以很方便地处理嵌套结构,如HTML文档、XML文档和JSON文档等。这些文档都具有嵌套结构,可以使用广义表进行解析和处理。

4、高效的存储方式:广义表采用链式存储方式,可以高效地存储和处理大量的数据。链式存储方式使得广义表在插入、删除和查找等操作上具有较高的效率。

温馨提示:答案为网友推荐,仅供参考
相似回答