- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第11章线性表
教学目标 介绍线性表的两种存储结构定义:一种是顺序表;另一种是链表。 学习要求 掌握线性表顺序存储结构的定义,顺序表的插入和删除; 掌握线性表非顺序存储结构的定义,单链表的插入和删除。 区分带头结点链表和不带头结点链表异同 领会循环链表、双向链表结构 11.1 线性表概述 计算机的处理效率与数据的组织形式和存储结构密切相关。这类似于人们所用的“英语词典” ,它是由按英文字母的顺序组织排列的“词条”组成,这样人们查阅词典时可以按照自己熟悉的排列顺序去查找。查找的速度较快。另外在当今网络世界中数据通讯更加依赖于数据的组织形式和存储结构。总之计算机处理数据要追求“时间”和“空间”上的双重效率。而“时空效率”与数据的组织存储结构密切相关。 这里我们研究在日常生活中一类常见的表格数据(即用表格形式存放的数据)的处理方法。观察下列表格数据:列车时刻表、学生成绩单和英文周名缩写名称表等,如表11-1、表11-2、表11-3所示: 表11-1 列车时刻表 表11-2学生成绩单 表11-3英文周名缩写名称表 线性表概述(续) 这些表格形式的数据具有如下共同特点: 1)表中每一行信息虽然组成的内容不同,但都具有某个明确独立的含义,将表中每一行信息称之为一个数据元素; 2)每个数据元素在表中的位置固定,除了第一个元素和最后一个元素外,其余元素都有唯一一个前驱元素和唯一一个后继元素; 3)表中数据元素的个数不一定相等,有长有短; 4)大多数表格中数据元素会增加或减少,是动态变化的。如表11-1和表11-2。但也有线性表是固定不变,如表11-3。 将这些表格形式的数据加以抽象,统称为线性表。 线性表的定义 线性表的抽象定义: 线性表是由n(n≥0)个类型相同的数据元素a 1,a 2,a 3,…,a n 组成的有限序列,记为:( a 1,a 2,a 3,…,a n )。线性表中当前存储的数据元素数目叫做表的长度,n为表长,当线性表中不包含任何数据元素即n=0时 ,称为空表。 注意两点: 1)数据元素a i(1≤i≤n)表示某个具体意义的信息,它可以是一个数,或者是一个字符串,或者是由数和字符串组成的更复杂的信息。但同一个线性表中的所有数据元素必须具有相同的属性(或者说具有相同的数据类型); 2)若线性表是非空表,则有:(ⅰ)第一个元素a 1无前趋元素;(ⅱ)最后一个元素a n无后继元素;(ⅲ)其它元素a i(1in)均只有一个直接前趋a i-1 和一个直接后继a i+1。 线性表定义(续) 例如: 某校1998—2003年在校学生人数(2500,3450,5000,5100,5400,5500)是一个线性表; 每个月份英文缩写名称组成一个线性表(JAN.,FEB.,MAR.,APR.,MAY.,JUN.,JUL.,AUG.,SEP.,OCT.,NOV.,DEC.); 屏幕上若干像素((50,50,RED),(100,150,RED),(200,200,BLUE),(200,250,GREEN))亦是一线性表; 像学生情况登记表、电话号码簿、股票市场里的信息列表、航班时刻表、各种各样的统计报表等等都是线性表。因此研究线性表的存储结构便于拓宽计算机在各行各业中的应用。 线性表的另一种形式化定义 在计算机系的《数据结构》专业课程中,对于线性表给出了如下形式化的定义: linear_list = ( D , R ) 其中,D是数据元素的集合, D ={ a 1,a 2,a 3,…,a n } R是数据元素之间关系的集合, R={ a 1,a 2,a 2,a 3,a 3,a 4……a n-1,a n }。 其中 a i-1 , a i 给出了数据元素的一种先后次序关系,即表中的数据元素都有固定的位置。 线性表的操作 经过分析研究,人们总结出线性表应该具有如下常用的基本操作: 1)求表长:设L代表某个线性表,统计L里总共有多少个元素。记作Length(L)。例如股民要了解有多少股票;学校要了解学生人数;政府要掌握本地区人口数量等。 2)取元素:获取L中某个数据元素的信息,记作Get(L,i),i为表中元素的位置或序号,仅当1≤i≤Length(L)时,取得线性表L中的第i个元素a i(或a i的存储位置),否则无意义。 3)置换元素: 置换或修改L中某个数据元素的信息。记作Replace(L,i,x)。 4)插入元素:?在L中某个位置上增加一个数据元素。记作Insert(L,i,x),在L的第i个位置上插入元素x。例如某班转来一名新学生;股票市场发行新股票等。 5)删除元素:?删除线性表中某个位置
文档评论(0)