问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

什么是线性表?

创作时间:
作者:
@小白创作中心

什么是线性表?

引用
1
来源
1.
https://bbs.huaweicloud.com/blogs/433996

线性表是数据结构中最基本也是最常用的一种线性结构。让我们从线性结构的特点开始,逐步理解线性表的概念。

线性结构的特点

在线性结构中,数据元素的非空有限集具有以下特点:

  1. 存在唯一的一个被称作"第一个"的数据元素;
  2. 存在唯一的一个被称做"最后一个"的数据元素;
  3. 除第一个之外,集合中的每个数据元素均只有一个前驱;
  4. 除最后一个之外,集合中每个数据元素均只有一个后继。

线性结构的数据元素之间的关系如下图所示:

线性表、栈、队列、串和数组都属于线性结构,而线性表是最基本也是最常用的一种线性结构。

线性表的定义

线性表(List)是零个或多个数据元素的有限序列。序列中元素之间是有顺序的,就像上图中那样,八个小朋友都是按顺序排好的,第二个在第一个后面,第三个在第二个后面……

其次,线性表强调是有限的,即数据元素的个数是有限的。事实上,在计算机中处理的对象都是有限的,无限的数列,只存在于数学的概念中。

如果我们像高数那样定义线性表的概念,则:

若将线性表记为(a1, a2, ..., an),则表中:

  • ai领先于ai+1
  • ai+1领先于ai
  • 称ai是ai+1的直接前驱元素
  • 称ai+1是ai的直接后继元素

当i=1,2,...,n-1时,ai有且仅有一个直接后继;当i=2,3,...,n时,ai有且仅有一个直接前驱。

其对应关系如下图所示:

所以,将线性表元素的个数n(n>=0)定义为线性表的长度,当n=0时,称为空表。

在非空表中的每个数据元素都有一个确定的位置,如a1是第一个数据元素,an是最后一个数据元素,ai是第i个数据元素,称i为数据元素ai在线性表中的位序。

生活中常见的线性表

我们生活中有很多东西都有线性表的身影,如一年中的星座列表:

班上同学的点名册,因为每个同学的信息是按顺序排的,因此虽然每个数据元素有很多数据项,但组合起来仍然是一个线性表:

还有我们天天都在用的手机通讯录,和点名册类似,同样是一种线性表:

还有一点要注意,如果我现在要将我的猫和张三家的狗也加入通讯录中,可行吗?答案是不可以,因为根据线性表的定义,必须是相同类型的数据才可以。猫和狗显然和人不是一种类型,想要记录的话,还是重新建立一个"宠物档案册"吧~

结语

当我们搞清楚什么是线性表后,在数据结构线性表篇我们还将一起学习线性表的抽象数据类型、线性表的顺序存储结构(顺序表的实现)、线性表的链式存储结构(链表的实现)等相关知识。希望这些内容能对大家有所帮助,一起学习,一起进步!

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号