当前位置:鱼C工作室 >数据结构和算法 > 查看文章

线性表 – 数据结构和算法06

线性表

 

让编程改变世界

Change the world by program


 

感受线性表的存在

 

各位鱼油大家好,从今天开始小甲鱼带大家开始学习第一个数据结构:线性表

先让我我们通过图片来感受一下,线性表的特性吧。

感受线性表的存在

 

大家姑且可以把这幅图想象为小甲鱼组织鱼油们外出野营。因为咱鱼油队伍强大,要小甲鱼记住每位鱼油并区分还真不是一件容易的事。

所以咱想到了一个办法,让大家按照一个约定排成一队,以后大家要怎么记住自己的位置呢?没错,大家只需要记住自己前边的鱼油即可。

小甲鱼也可以很快的清点人数,万一有人走丢,也能在最快时间内知道是谁不见了,因为只需要问哪位鱼油的“前驱”不见啦即可。

 

线性表的定义

 

线性表,从刚才小甲鱼的描述中我们可以很容易感受到是像排队一样,具有线一样性质的结构。

如果像下边这样,我们就不能说是线性表了:

这不是线性表

 

线性表(List):由零个或多个数据元素组成的有限序列。

 

这里需要强调几个关键的地方:

首先它是一个序列,也就是说元素之间是有个先来后到的,像刚才的小蝌蚪就没有顺序。

若元素存在多个,则第一个元素无前驱,而最后一个元素无后继,其他元素都有且只有一个前驱和后继。

另外,线性表强调是有限的,事实上无论计算机发展到多强大,它所处理的元素都是有限的。

 

如果用数学语言来进行定义,可如下:

若将线性表记为(a1,…,ai-1,ai,ai+1,…an),则表中ai-1领先于ai,ai领先于ai+1,称ai-1是ai的直接前驱元素,ai+1是ai的直接后继元素。

线性表的定义

 

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

 

分页阅读: 1 2 下一页
为您推荐

报歉!评论已关闭.