数据结构基础-线性表

线性表定义

线性表是n个元素的有限序列,通常表示为a1,a2,...an。

它存在唯一的表头和表尾,除了表头,表中的每一个元素均只有唯一的直接前驱(前面有一个元素)。除了表尾外,表中的每一个元素均只有唯一的直接后继(后面有一个元素)。

存储结构

分为顺序存储和链式存储。

数据结构基础-线性表

  • 顺序存储

是用一组地址连续的存储单元(连续的内存)依次存储数据元素,从而使得逻辑关系相邻的两个元素在物理位置上也相邻。它可以随机存储表中的元素,但插入和删除需要移动大量的元素。

  • 链式存储

是用结点(包括数据域和指针域)来存储数据,结点的连续性不做要求,可以连续,也可以不连续 ,因此也需要存储元素的逻辑关系。结点所需要的空间需要的时候再申请,无需事先分配.插入和删除操作不需要移动元素,但因为存储了元素的逻辑关系,所以需要更多的空间,不能随机访问元素,必须根据结点存储的逻辑关系,逐步查找。

单链表:也叫线性链表,每个结点只有一个指针。

双向链表:每个结点包含两个指针,指明直接前驱结点和后继结点。

循环链表:表尾结点的指针指向表中第一个结点。

静态链表:用数组来描述线性表的链式存储结构。


分享到:


相關文章: