数据结构(3)之线性表之顺序存储结构
1 前言
经过前两张的理论基础,我相信大家都能简单的明白了数据结构和算法一些常用的概念了,从今天开始我们开始学习数据结构中线性表,一些叩响数据结构的大门。
2 详述线性表(List):零个或者多个数据元素的有限序列。
如果用数学语言来进行定义:
(声明:由于下标不是很好弄出来,所以只能表示下面这种方式了,请见谅!)
若线性表记作(a1,...ai-1,ai,ai+1,...,an),则表中ai-1领先于ai,ai领先于ai+1,称ai-1是ai的直接前驱元素,ai+1是ai的直接后继元素。当i=1,2,...,n-1时,ai有且仅有一个直接后期,当i=2,3,...,n时,ai有且仅有一个直接前驱。如下如所示:
线性表的个数n(n>=0)定义为线性表的长度,当n=0时,成为空表。
在较复杂的线性表中,一个数据元素可以由若干数据项组成。
2.1线性表的抽象数据类型线性表的顺序存储的结构代码:
存储器中每个存储单元都有自己的编号,这个编号称为地址。
假设每个元素占用的是c个存储单元,那么线性表中第i+1个数据元素的存储位置和第i个数据元素的存储位置满足下列关系(LOC表示获得存储位置的函数)。
所以对于存入或者取出数据,计算时间都是系统的,是一个常数,时间复杂度为O(1)。
2.3 顺序存储结构的插入和删除2.3.1 获得元素操作实现GetElem操作,即将线性表L中的第i个位置元素值返回,代码如下:
3 结语以上是所有内容,希望对大家有所帮助。