线性表简介
时间:2024-05-06 07:01:10
来源:学到牛牛
线性表是最基本、最常用也是最简单的一种数据结构。是数据结构之中的一种,一个线性表是n个具有相同特性的数据元素的有限序列。
在线性表里面,一般用线性表中的个数n来定义线性表的长度,当n=0时表示当前表为空表。在非空表里面的每一个数据元素都有一个确定的位置,若用ai表示数据元素则i就是该元素在线性表中的位序。
而讨论较多的则是数据的“线性”和“非线性”。线性数据结构是按顺序具有数据元素的数据结构,彼此数据相连,但这些数据结构可能会造成内存浪费。常见的线性结构有数组,链表,堆栈和队列,数组存储的是相同数据数据类型的数据元素,链表是包含一组节点的数据结构,每个节点存储另一个节点的数据和地址,以此连接形成类似链的结构。非线性结构则是在子元素和父元素之间形成层次关系,也就是数据之间彼此相连,在他们之间创建关系。因此就无法按顺序的插入元素、删除元素和浏览元素,通常这样的结构的内存效率更高。常见的非线性结构有树和图,二叉树是树状结构,以边链接来连接节点,一般在二叉树中的每个节点最多有两个子节点,如图所示:
线性结构和非线性结构的区别:
1,存储方式
在线性数据结构中,数据以线性顺序组织,其中的元素一个接一个的连接
在非线性数据结构中,数据元素则不是按顺序存储的,而是按层次关系进行存储。
2,遍历数据
在线性结构中遍历数据很简单,因为它可以让所有的数据元素一次遍历,但一次只能遍历一个元素。
在非线性结构中节点不是顺序访问的,并且不能一次遍历。
3,内存占用
在线性结构中并没有提供有效的内存利用率,而在非线性结构中提供了高效的内存利用率。
4,复杂度
线性结构相对要简单一些,并且易于使用。而非线性数据结构则是复杂的数据结构,使用起来上手较为复杂。