欢迎来到军工软件开发人才培养基地——学到牛牛

线性表简介

时间:2024-05-06 07:01:10 来源:学到牛牛

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

在线性表里面,一般用线性表中的个数n来定义线性表的长度,当n=0时表示当前表为空表。在非空表里面的每一个数据元素都有一个确定的位置,若用ai表示数据元素则i就是该元素在线性表中的位序。

而讨论较多的则是数据的“线性”和“非线性”。线性数据结构是按顺序具有数据元素的数据结构,彼此数据相连,但这些数据结构可能会造成内存浪费。常见的线性结构有数组,链表,堆栈和队列,数组存储的是相同数据数据类型的数据元素,链表是包含一组节点的数据结构,每个节点存储另一个节点的数据和地址,以此连接形成类似链的结构。非线性结构则是在子元素和父元素之间形成层次关系,也就是数据之间彼此相连,在他们之间创建关系。因此就无法按顺序的插入元素、删除元素和浏览元素,通常这样的结构的内存效率更高。常见的非线性结构有树和图,二叉树是树状结构,以边链接来连接节点,一般在二叉树中的每个节点最多有两个子节点,如图所示:

1.png

线性结构和非线性结构的区别:

1,存储方式

在线性数据结构中,数据以线性顺序组织,其中的元素一个接一个的连接

在非线性数据结构中,数据元素则不是按顺序存储的,而是按层次关系进行存储。

2.png

2,遍历数据

在线性结构中遍历数据很简单,因为它可以让所有的数据元素一次遍历,但一次只能遍历一个元素。

在非线性结构中节点不是顺序访问的,并且不能一次遍历。

3,内存占用

在线性结构中并没有提供有效的内存利用率,而在非线性结构中提供了高效的内存利用率。

4,复杂度

线性结构相对要简单一些,并且易于使用。而非线性数据结构则是复杂的数据结构,使用起来上手较为复杂。