[数据结构]线性表(一)

本文详细介绍了线性表的逻辑结构和物理结构,包括线性表的类型定义、顺序表示和链式表示。重点讨论了顺序表和链表的操作实现,如查找、插入和删除。还探讨了线性表在不同场景下的适用性,如非递减线性表的合并等。
摘要由CSDN通过智能技术生成

第二章 线性表

主要内容:

   1.线性表的类型定义    

   2.线性表的顺序表示和实现

   3.线性表的链式表示和实现

 学习提要:

   1.了解线性表的逻辑结构和物理结构

   2.掌握两种存储结构的描述方法以及在每种存储结构上的基本操作的实现

   3.理解两种存储结构的特点及其使用场合

 重难点内容:

   顺序表、链表及其操作实现

 

线性结构是一个数据元素的有序(次序)集  。

线性结构的基本特征:

(1)存在唯一的一个被称作“第一个”的数据元素

(2)存在唯一的一个被称作“最后一个”的数据元素

(3)除第一个外,集合中的每个数据元素均只有 一个前驱

(4)除最后一个外,集合中的每个数据元素均只有一个后继

2.1 线性表的类型定义

线性表:n个数据元素组成的有限序列。表示为(a1,a2,…,ai,ai+1,…,an)

例:英文字母表(A,B,C,…..Z)是一个线性表

逻辑特征:

·1<i<n时

ai的直接前驱是ai-1,a1无直接前驱

ai的直接后继是ai+1,an无直接后继

·元素同构,且不能出现缺项

线性表的长度:表中元素的个数n(n>=0),n=0 空表。

位序:元素ai在表中的位置数i 。

抽象数据类型线性表的定义如下:

ADT  List {

   数据对象:

         D={ ai | ai ∈ElemSet,i=1,2,...,n,  n≥0 }

   数据关系:

         R1={ <ai-1 ,ai >|ai-1 ,ai∈D,  i=2,...,n }

   基本操作:

         InitList( &L )

         操作结果:构造一个空的线性表L。

   DestroyList( &L )

         初始条件:线性表L已存在。

         操作结果:销毁线性表L。

   ListEmpty( L )

         初始条件:线性表L已存在。

         操作结果:若L为空表,则返回TRUE,否则FALSE。

   ListLength( L )

         初始条件:线性表L已存在。

         操作结果:返回L中元素个数。

   GetElem( L, i, &e )

         初始条件:线性表L已存在,1≤i≤ListLength (L)

         操作结果:用e返回L中第i个元素的值。

  LocateElem( L, e, compare( ) )

         初始条件:线性表L已存在,compare( )是元素判定函数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值