网站大量收购闲置独家精品文档,联系QQ:2885784924

数据结构-线性表1.pdf

  1. 1、本文档共53页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构-线性表1.pdf

第二章 线性表 曹迎春 yccao@nju.edu.cn 学习目标 • 了解线性表的逻辑结构特性是数据元素之间存在着线性关 系,在计算机中表示这种关系的两类不同的存储结构是顺 序存储结构和链式存储结构。用前者表示的线性表简称为 顺序表,用后者表示的线性表简称为链表。 • 熟练掌握这两类存储结构的描述方法以及线性表的基本操 作在这两种存储结构上的实现。 • 能够从时间和空间复杂度的角度综合比较线性表两种存储 结构的不同特点及其适用场合。 • 结合线性表类型的定义增强对抽象数据类型的理解。 重点和难点 • 链表是本章的重点和难点。扎实的指针操作和内 存动态分配的编程技术是学好本章的基本要求, 分清链表中指针p 和结点*p 之间的对应关系,区 分链表中的头结点、头指针和首元结点的不同所 指以及循环链表、双向链表的特点等。 知识点 • 线性表 • 顺序表 • 链表 • 有序表 学习指南 • 学习数据结构的目标是为了编出质量更高的程序, 因此重在实践。本章讨论的线性表是学习的第 一种也是最简单的一种数据结构,是整个课程的 基础,特别是熟练掌握链表的操作对以后各章的 学习将有很大帮助。 课前思考 • 抽象数据类型的定义由哪几部分组成? • 按数据元素之间的逻辑关系不同,数据结 构有哪几类? • 你能举出几个你熟悉的序列的例子来吗? 线性结构 • 线性结构是一个数据元素的有序 (次序)集合。 • 四个基本特征: – 集合中必存在唯一的一个“第一元素” ; – 集合中必存在唯一的一个“最后元素” ; – 除最后元素之外,其它数据元素均有唯一的“后继” ; – 除第一元素之外,其它数据元素均有唯一的前驱。 抽象数据类型线性表的定义 • 通常可以下列“ n 个数据元素的序列”表示线性表 (Linear_List):(a ,a ,…,a ,…,a ) 1 2 i n • 序列中数据元素的个数n 定义为线性表的表长 • n=0 时的线性表被称为空表 • 称i 为a 在线性表中的位序 i • 抽象数据类型的定义 ADT List { a a D={ | ∈ElemSet, i=1,2,...,n, n≥0 } i i a a R1={ |, , ∈D, i=2,...,n } a ,a i1 i i1 i InitList( L ) DestroyList( L ) ListEmpty( L ) ListLength( L ) PriorElem( L, cur_e, pre_e ) NextElem( L, cur_e, next_e ) GetElem( L, i, e ) LocateElem( L, e, compare( ) ) ListTraverse(L, visit( )) ClearList( L ) PutElem( L, i, e ) ListInsert( L, i, e ) ListDelete( L, i, e ) } ADT List 线性表的基本操作 • 结构初始化 • 结构销毁 • 引用型操作 • 加工型操作

文档评论(0)

cai + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档