- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构课件(第2章)线性表
第二章 线性表;主要内容;了解线性表逻辑结构的特征;
重点掌握线性表的顺序存储结构和链式存储结构;
掌握在顺序存储结构下,线性表的基本操作实现的算法;
掌握在链式存储结构下,线性表的基本操作实现的算法;
比较线性表两类存储结构的不同特点及适用场合。;(1)线性表的定义和基本操作。
(2)线性表的实现:
顺序存储结构;
链式存储结构;
线性表的应用; 本章虽然讨论的是线性表,但涉及的许多问题都具有一定的普遍性。因此,本章是本课程的重点之一,也是其他后续章节的重要基础。换言之,本章是必考内容,而且可能结合后续章节的相关内容出题上。
顺序表的运算本质上是对数组进行操作,因此,可能会与排序、查找等内容结合出题。单链表由于结构简单、应用灵活、难度适中,是数据结构各类考试的重要考点,所以一定要深刻理解、熟练掌握、灵活运用。; 姓名 电话号码
蔡颖 陈红 刘建平 王小林 张力 ...;设 A=(a1, a2, ... , ai -1, ai , ai+1, …, an )是一线性表
同一线性表中的元素必须是同一类型的;
称ai-1 是ai 的直接前驱,ai+1 是ai 的直接后继;
在线性表中,除第一个元素和最后一个元素之外,其他元素都有且仅有一个直接前趋,有且仅有一个直接后继,具有这种结构特征的数据结构称为线性结构。线性表是一种线性数据结构;
性表中元素的个数n称为线性表的长度,n=0时称为空表;
ai是线性表的第i 个元素,称i 为数据元素ai 的位序。;ADT List {
数据对象: D={ ai |ai ElemSet, i=1, 2, …,n, n=0}
数据关系: R1={ ai-1, ai | ai-1, ai D,i=2, …,n}
或:R2={ ai, ai+1 | ai, ai+1 D, i=1, 2, …,n-1} ;1 初始化操作 InitList(L)
操作结果:构造一个空的线性表L。
2 销毁操作DestroyList(L)
初始条件:线性表L已存在。
操作结果:销毁线性表L。
3 置空操作ClearList(L)
初始条件:线性表L已存在。
操作结果:将L重置为空表。
4 判空操作ListEmpty(L)
初始条件:线性表L已存在。
操作结果:若L为空表返回TRUE,否则返回FALSE。;5 求表长操作 ListLength(L)
初始条件:线性表L已存在。
操作结果:返回L中元素个数。
6 取元素操作:GetElem(L, i, e)
初始条件:线性表L已存在,1≤i≤ListLength(L)。
操作结果:用e返回L中第i 个数据元素的值。
7 查找操作 LocateElem (L, e,compare() )
初始条件:线性表L已存在,compare()是数据元素判定函数。
操作结果:返回L中第1 个与e满足compare()的数据元素的位序。若表中不存在这样的元素,则返回0;;8 求前驱操作PriorELem(L, cur_e,pre_e)
初始条件:线性表L已存在。
操作结果:若cur_e是L的数据元素,且不是第一个,则用pre_e返回它的前驱,否则操作失败,pre_e无定义。
9 求后继操作NextELem(L, cur_e,next_e)
初始条件:线性表L已存在。
操作结果:若cur_e是L的数据元素,且不是最后一个,则用next_e返回它的前驱,否则操作失败,next_e无定义。;10 插入操作 ListInsert(L, i, e )
初始条件:线性表L已存在,1≤i≤ListLength(L)+1。
操作结果:在L中第i个位置之前插入一个新元素e;
11 删除操作 ListDelete(L, i, e )
初始条件:线性表L已存在且非空,1≤i≤ListLength(L)。
操作结果:删除L的第i个元素,并用e返回其值;
12 遍历操作 ListTraverse (L,visit( ) )
初始条件:线性表L已
原创力文档


文档评论(0)