4.1-线性表及其抽象运算.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
BEA Confidential. | * 郝家胜 haojiasheng@ 自动化工程学院 线性表及其抽象运算 List Abstract Operations 软件技术基础 9 内容提要 线性表的概念 线性表的抽象数据类型 线性表的抽象运算 线性表的查找 线性表的排序 Alpha问题 * 数据结构与抽象数据类型 抽象数据类型是根据求解问题的需要,对问题域数据进行抽象所得的自定义的数据类型 数学模型 基于这个模型的一组操作方法 采用适当的数据结构来实现 数据结构是抽象数据类型的内部表示和实现方式 抽象数据类型的好处 从使用者的角度 从实现者的角度 抽象数据类型为复合数据的使用提供了抽象方法,数据结构为复合数据的表示提供了实现方法 (a1, a2, … ai-1,ai, ai+1 ,…, an) 线性表的逻辑结构 线性表的定义:用数据元素的有限序列表示 n=0时称为 数据元素 线性起点 ai的直接前趋 ai的直接后继 下标,是元素的序号,表示元素在表中的位置 n为元素总个数,即表长。n≥0 空 表 线性终点 ( A, B, C, D, …… , Z) 学号 姓名 性别 年龄 班级 012003010622 陈建武 男 19 2003级电信0301班 012003010704 赵玉凤 女 18 2003级电信0302班 012003010813 王 泽 男 19 2003级电信0303班 012003010906 薛 荃 男 19 2003级电信0304班 012003011018 王 春 男 19 2003级电信0305班 : : : : : 例2 分析学生情况登记表是什么结构。 分析:数据元素都是同类型(记录),元素间关系是线性的。 分析: 数据元素都是同类型(字母), 元素间关系是线性的。 注意:同一线性表中的元素必定具有相同数据类型 ! 例1 分析26 个英文字母组成的英文表是什么结构。 线性表的基本操作 CREATE_LIST(): 创建一个空的线性表L LENGTH(L) : 对给定的线性表L求长度 GET(L, i) : 取线性表L中序号为i的元素 LOCATE(L, x):取线性表L中值为x的元素的序号 INSERT(L, i, x):将x插入到线性表L中序号为i 的位置 DELETE(L, i):删除线性表L中序号为i的元素 线性表的抽象数据类型 数学模型 数据定义 L:(a1, a2, … ai-1,ai, ai+1 ,…, an) 接口声明 CREATE_LIST() LENGTH(L) GET(L, i) INSERT(L, i, x) DELETE(L, i) LOCATE(L, x) 线性表的运算 基于抽象数据类型 线性表的查找 线性表的排序 线性表的应用示例 线性表L的插入排序 INSERTION-SORT (A, n) 1 ? Insert A[j] into the sorted sequence 2 for j ← 1 to n-1 do 3 key ← A[ j] 4 i ← j – 1 5 while i = 0 and A[i] key do 6 A[i+1] ← A[i] 7 i ← i – 1 8 end 9 A[i+1] = key 10 end INSERTION-SORT (L) 1 ? Insert L[j] into the sorted sequence 2 for j ← 1 to LENGTH(L)-1 do 3 key ← GET(L, j) 4 i ← j – 1 5 while i = 0 and GET(L, i) key do 6 i ← i – 1 7 end 8 INSERT(L, i+1, key) 9 end 思考:问题在哪里? 线性表抽象数据类型的运算 SEQ-SEARCH (L, k) 1 ? Find k in L, return the first occurrence position 2 for i ← 1 to LENGTH(L) do 3 v ← GET(L, i) 4 if v = k break 5 i ← i + 1 6

文档评论(0)

JuanHuang + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档