广义表和线性表的区别?

还有几个数据结构上的问题:
1、广义表和线性表的区别?
2、栈和队列的区别?
3、数据结构中抽象数据类型与某一高级语言中的数据类型的区别?
希望知道的朋友们帮帮忙!

一、含义不同:

1、线性表,最基本、最简单、也是最常用的一种数据结构。线性表(linear list)是数据结构的一种,一个线性表是n个具有相同特性的数据元素的有限序列。

2、广义表(Lists,又称列表),一种非线性的数据结构,是线性表的一种推广。即广义表中放松对表元素的原子限制,容许它们具有其自身结构。

二、用途不同:

1、时间有序表、排序表、和频率有序表都可以看做是线性表的推广。如果按照结点到达结构的时间先后,作为确定结点之间关系的,这样一种线性结构称之为时间有序表。

2、广义表被广泛的应用于人工智能等领域的表处理语言LISP语言中。在LISP语言中,广义表是一种最基本的数据结构,就连LISP 语言的程序也表示为一系列的广义表。


扩展资料:

由于广义表是对线性表和树的推广,并且具有共享和递归特性的广义表可以和有向图建立对应,因此广义表的大部分运算与这些数据结构上的运算类似。

在此,只讨论广义表的两个特殊的基本运算:取表头head(Ls)和取表尾tail(Ls)。

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

参考资料来源:百度百科—广义表

参考资料来源:百度百科—线性表

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-11-12
数据结构是数据对象,以及存在于该对象的实例和组成实例的数据元素之间的各种联系;也是计算机中存储、组织数据的方式。通常情况下,精心选择的数据结构可以为我们带来最优效率的算法。

高效、最大限度地去节省空间,就是活用数据结构的一种方式了。

一般来说,数据对象在计算机中的组织方式有逻辑结构和物理存储结构。而数据对象必定与一系列加在其上的操作相关联,完成了这些操作所用的方法就是算法。

那么,怎么样才算是好的算法呢?

一般我们通过空间复杂度S(n)和时间复杂度T(n)来证明这算不算是一个好的算法。

若两段算法分别有复杂度T1(n)=O(f1(n))和T2(n)=O(f2(n)),则:

T1(n)+T2(n)=max(O(f1(n)),O(f2(n)));

T1(n)*T2(n)=O(f1(n)*f2(n));

若T(n)是关于n的k阶多项式,那么T(n)=0(n的k次幂);

例如:一个for循环 时间复杂度等于循环次数乘以循环体代码的复杂度。

比如,我们求N个整数中的最大值,那么我们能用一个for循环解决绝不用两个,这样会大大减少了计算机的运行速度和功耗。

线性表:有同类型数据元素构成有序序列的线性结构称之为线性表。

表中元素个数称之为线性表的长度,当表中一个元素都没有时,称为空表;表的起始位置称表头,表的结束位置称表尾。

关于线性表的基本操作有:

1.初始化一个空的线性表L;

2.根据位序K,返回相应元素;

3.在线性表L中查找X的第一次出现的位置;

4.在位序i前插入一个新的元素X;

5.删除制定位序i的元素;

6.返回线性表L的长度n。

广义表:线性表的推广;在广义表中,表中的元素不仅可以是氮元素也可以是另外一个广义表。

多重链表:链表中的节点可能同时隶属于多个链;其中多重链表节点的指针域会有多个。但是,包含两个指针域的链表不一定就是多重链表,比如在双向链表就不是多重链表。

多重链表的用途:基本上如树、图这样相对复杂的数据结构都可以采用多重链表的方式去实现存储。本回答被网友采纳
第2个回答  2020-11-12
一、含义不同:
1、线性表,最基本、最简单、也是最常用的一种数据结构。线性表(linear list)是数据结构的一种,一个线性表是n个具有相同特性的数据元素的有限序列。
2、广义表(Lists,又称列表),一种非线性的数据结构,是线性表的一种推广。即广义表中放松对表元素的原子限制,容许它们具有其自身结构。
二、用途不同:
1、时间有序表、排序表、和频率有序表都可以看做是线性表的推广。如果按照结点到达结构的时间先后,作为确定结点之间关系的,这样一种线性结构称之为时间有序表。
2、广义表被广泛的应用于人工智能等领域的表处理语言LISP语言中。在LISP语言中,广义表是一种最基本的数据结构,就连LISP 语言的程序也表示为一系列的广义表
由于广义表是对线性表和树的推广,并且具有共享和递归特性的广义表可以和有向图建立对应,因此广义表的大部分运算与这些数据结构上的运算类似。
在此,只讨论广义表的两个特殊的基本运算:取表头head(Ls)和取表尾tail(Ls)。
根据表头、表尾的定义可知:任何一个非空广义表的表头是表中第一个元素,它可以是原子,也可以是子表,而其表尾必定是子表。本回答被网友采纳
第3个回答  2013-12-27
广义表和线性表的区别在于:线性 表的成分都是结构上不可分的单元素, 而广义表的成分既可以是单元素,又可 以是有结构的
第4个回答  2015-09-21
  广义表和线性表的区别?
1、广义表是线性表的推广,是由零个或多个单元素或子表所组成的有限序列。
2、线性表的成分都是结构上不可分的单个数据元素,而广义表的成分即可以是单元素,也可以是有结构的表,其定义是递归的定义。
希望可以帮到你!
相似回答