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

数据结构第三次课第2章线性表a.pptx

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

数据结构课程的内容生活实例:(2,3,4,…,J,Q,K,A)学号姓名性别年龄班级2001011810205管春燕女 182001级电信016班2001011810260周 刚男 182001级电信017班2001011810284石文娟女 182001级通信011班2001011810360杨 扬男 182001级通信012班::: ::线性结构的定义: 若结构是非空有限集,则有且仅有一个开始结点和一个终端结点,并且所有结点都最多只有一个直接前趋和一个直接后继。可表示为:(a1 , a2, ……, an) 线性结构特点:在数据元素的非空有限集中存在唯一的一个被称作“第一个”的数据元素存在唯一的一个被称作“最后一个”的数据元素除第一个元素外,集合中的每个数据元素均只有一个前驱除最后一个元素外,集合中的每个数据元素均只有一个后继简言之,线性结构反映结点间的逻辑关系是 一对一(1:1) 的 线性结构包括线性表、堆栈、队列、字符串、数组等等,其中,最典型、最常用的是---(逻辑、存储和运算)线性表第2章第2章 线性表2.1 线性表的逻辑结构 2.2 线性表的顺序表示和实现2.3 线性表的链式表示和实现2.4 应用举例 2.1 线性表的逻辑结构 2.1.1 线性表的定义:用数据元素的有限序列表示(a1, a2, … ai-1,ai, ai+1 ,…, an)数据元素ai的直接前趋ai的直接后继线性起点线性终点n为元素总个数,即表长下标,是元素的序号,表示元素在表中的位置空表n=0时称为例1分析一副扑克的点数组成的英文表数据元素都是牌面点数; 元素间关系是线性(2,3,4,…,J,Q,K,A)例2分析学生情况登记表学号姓名性别年龄班级2001011810205管春燕女 182001级电信016班2001011810260周 刚男 182001级电信017班2001011810284石文娟女 182001级通信011班2001011810360杨 扬男 182001级通信012班::: ::数据元素都是记录;元素间关系是线性同一线性表中的元素必定具有相同特性√√××练:判断下列叙述的正误:1. 线性表的逻辑结构定义是唯一的,不依赖于计算机。2. 线性结构反映结点间的逻辑关系是一对一的。3. 一维数组是线性表,但二维或N维数组不是。4. “同一数据逻辑结构中的所有数据元素都具有相同的特性”是指数据元素所包含的数据项的个数都相等。2.2 线性表的顺序表示和实现2.2.1顺序表的表示2.2.2顺序表的实现2.2.3顺序表的运算效率分析顺序表小结2.2.1顺序表的表示线性表的顺序表示又称为顺序存储结构或顺序映像。把逻辑上相邻的数据元素存储在物理上相邻的存储单元中的存储结构。顺序存储定义:简言之,逻辑上相邻,物理上也相邻顺序存储方法:用一组地址连续的存储单元依次存储线性表的元素,可通过数组V[n]来实现。线性表的顺序存储结构示意图 地址 内容 元素在表中的位序b=LOC(a1)1a1a2……aiai+1……anL2b + Lib +(i-1)Li+1nb +(n-1)L空闲区线性表顺序存储特点:1. 逻辑上相邻的数据元素,其物理上也相邻;2. 若已知表中首元素在存储器中的位置,则其他元素存放位置亦可求出(利用数组下标)。计算方法是(参见存储结构示意图):设首元素a1的存放地址为LOC(a1)(称为首地址),设每个元素占用存储空间(地址长度)为L字节,则表中任一数据元素的存放地址为: LOC(ai) = LOC(a1) + L *(i-1) LOC(ai+1) = LOC(ai)+L 注意:Java语言中的数组的下标从0开始, 即:V[n]的有效范围是V[0]~V[n-1]例1一个一维数组M,下标的范围是0到9,每个数组元素用相邻的5个字节存储。存储器按字节编址,设存储数组元素M[0]的起始地址是98,则M[3]的起始地址是 113解:地址计算通式为:LOC(ai) = LOC(a1) + L *(i-1)因此:LOC( M[3] ) = 98 + 5 ×(3-0) =1132.2.2顺序表的实现(或操作)回忆:数据结构基本运算操作有: 修改、插入、删除、查找、排序1) 修改 通过数组的下标便可访问某个特定元素并修改之。核心语句: V[i]=x;显然,顺序表修改操作的时间效率是T(n)=O(1)2)插入 在线性表的第i个位置前插入一个元素在线性表的第i个位置前插入一个元素的示意图如下:121321242830427712132124252830427712345678123456789插入25?实现步骤:?将第n至第i 位的元素向后移动一个位置;将要插入的

文档评论(0)

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

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

1亿VIP精品文档

相关文档