冰封万年

博客园 首页 联系 订阅 管理

一、定义等等

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

数据元素可以由若干个数据项组成。

2、线性表的抽象数据类型

定义:线性表数据对象均为相同类型。其中,除首元素外,其他元素均只有一个直接前驱元素,除尾元素外,其他元素均只有一个直接后继元素。数据元素之间是一一对应关系。

常用方法:

在尾部添加一个元素:Add()

在尾部添加一个集合:AddRange()

在指定位置,指定长度下反转该段元素:Reverse()

在指定位置插入一个元素:Insert()

在指定位置插入一个集合:InsertRange()

在指定位置移除一个元素:Remove()

在指定位置,指定长度下移除该段元素:RemoveRange()

···

3、线性表长度<=数组的长度

线性表长度:对象的个数

数组的长度:申请的储存空间的大小。

 

二、线性表的顺序储存

1、其时间复杂度:对于插入以及删除操作,其时间复杂度为0(n)。由此可以知道,面对插入删除操作,线性表的长度越小越好。

2、线性表顺序储存的优缺点

 

 三、线性表链式储存

1、结点

组成:该数据元素的本身信息(数据域)+下一个元素的地址信息(指针域)。

那么可以知道第一个元素的地址信息没有使用到,同时最后一个结点没有指针域,所以定义了头结点(非必要)和将最后一个结点的指针域设为空null(必要)。

2、头结点

定义:数据域内容为空(可附加线性表长度等信息)+第一个元素的指针域(头指针)

 

由上可知:头指针是必要元素,头结点非必要元素。

 

posted on 2015-09-17 14:19  冰封万年  阅读(124)  评论(0)    收藏  举报