线性表

线性表

概念

  1. 线性表的定义

线性表是将多个具有相同类型的数据元素放在一起构成一组有限序列的结构,通常记为A=(a1,a2,a3,...,an)

  1. 线性表的相关概念

在上述线性表定义中:

  • A是代表一个线性表
  • ai(1$\leq$i$\leq$n)称为线性表的线性元素,i为元素下标,表示该元素在线性表中的位置
  • n为表长,n$\geq$0,当n=0时,该表为空表
  • 线性表是一种基于相邻数据元素之间的对应关系,将元素ai−1称为元素ai的直接前趋,将元素ai+1称为元素ai的直接后继
  • 在线性表中,a1是表中第一个元素,它没有前趋,an是最后一个元素,没有后继
  • 线性表中的元素ai既可以是一个单个元素,也可以是一个数据元素,即由多个数据项构成的元素

线性表的分类

按照线性表的存储结构可以分为:

  • 顺序存储结构
  • 链式存储结构

因此可以将线性表分为顺序表链表两大类。

顺序表的概述

  1. 顺序表的定义

顺序表是指在线性表在顺序存储下构成的表

  1. 存储特点

线性表逻辑上相邻的数据元素在存储位置上也相邻

根据顺序表的存储特点有如下关系:

设a1的存储地址为m,每个数据元素占d个存储单元,则第i个数据元素的地址为:

Loc(a1)=m+(i-1)*d (1$\leq$i$\leq$n)

链表的概述

  1. 链表的定义

链表也是一种有顺序的表,其内容可以存储在一组任意的存储单元中,这组存储单元可以是连续的,也可以是不连续的,这就需要在存储元素本身信息的同时,还要存储下一个元素的位置,由此构成一个链状结构,称其为链表

image-20200801104138182

  1. 链表的相关概念

将表示数据元素和下一个元素位置的结构称为链表的结点,若第一个结点只表示整个链表的起始位置,而无任何信息,称其为头结点。对于最后一个结点,后面无任何元素,其表示元素位置的地址用“∧”来表示,称其为尾结点

  1. 链表的表示

链表中结点的表示必须要用到两个区域,其中一个存放数据元素自身的信息ai,称为数据域;另一个存放下一个元素的地址或位置,以保证表的连续性,称为指针域

链表中节点表示如下:

image-20200801124043610

  1. 链表的分类:

按照链表的组成方式,可以将链表分为:

  • 单链表
  • 双向链表
  • 循环链表
posted @ 2020-08-01 12:55  乌利乌利  阅读(147)  评论(0)    收藏  举报