第二堂课(顺序表)关键知识点
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
接下来的课程,我们将会逐一学习一些经典的数据结构。
针对每一种数据结构,我们会首先讲解其逻辑结构,即先探究这种数据结构怎么抽象表示的。
然后,针对该逻辑结构,我们再探究其怎么在计算机内存里去存储和实现。
针对不同的实现方式,每一种逻辑结构我们主要学习两种存储结构:
顺序存储结构;链式存储结构
记住:学习一种数据结构,要先理解其逻辑结构,再掌握其存储结构。
逻辑结构是抽象的,存储机构是物理的。
一、线性表
线性表是一种逻辑结构。
它是由若干个具有相同特性的数据元素组成的有限序列(简单的理解为各个元素排成一条线)。
可以用以下形式来表示线性表。
{a[1], a[2],…, a[I ],…,a[n]}
其中a[i]表示线性表中的任意一个元素,n表示元素的个数。
a[1]为第一个元素(有的书里第一个元素记为a[0])
a[n]为最后一个元素(有的书里最后一个元素记为a[n-1]) 。
a[1]是a[2]的直接先驱元素,a[2]是a[1]的直接后继元素。
第一个元素a[1]称为表头,最后一个元素a[n]称为表尾,在线性表中,有且仅有一个表头元素和一个表尾元素。
通常表头元素没有直接先驱元素,表尾元素没有直接后继元素。
线性表有以下特性。
(1)线性表中的元素个数一定是有限的。
(2)线性表中的所有元素具有相同的性质。
(3)线性表中除表头元素以外,其他所有元素都有唯一的(直接)先驱元素。
(4)线性表中除表尾元素以外,其他所有元素都有唯一的(直接)后继元素。
而针对线性表这种逻辑结构,它的存储结构有两种:
(1)顺序表(顺序存储结构)
(2)链表(链式存储结构)
二、顺序表
定义:顺序表是指采用顺序存储的方式来存储数据元素的线性表,即顺序表是线性表的顺序存储结构。
关键信息:
(1)结点依次存放在一组地址连续的存储空间中。
(2)由于待存储空间连续且每个数据元素占用的空间相同,因此可以综合上述信
息并通过计算得出每个元素的存储位置。
顺序表的特点:
(1)线性表的逻辑顺序与物理顺序一致;
(2)数据元素之间的关系是以元素在计算机内“物理位置相邻”来体现。
假设一个元素占用存储空间的S(S>1)个存储单元(如字节),则顺序表a中第i个元素和第i+1个元素的位置关系为:Locate(a[i+1]) = Locate(a[i])+S。