数据结构课件代码第2章线性表1463章节幻灯片.ppt

数据结构课件代码第2章线性表1463章节幻灯片.ppt

  1. 1、本文档共46页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ai+1 … an 表的长度减少 a1 a2 … ai-1 ai ai+1 … an a1 a2 … ai-1 线性表存储结构的变化: 21 18 30 75 k k 87 56 k L-last 21 18 30 75 42 56 87 L-last 0 i 线性表的删除 给出了在线性表中删除一个元素的框图,其中被删除元素所在的第i个位置已经给出。 下面给出线性表删除一个元素的算法,被删除的元素被保留在out中以防丢失。 /* 线性表元素的删除 */ DELEGLIST(v[], i, n) /* v是线性表,i是被删除元素的位置,n是线性表的长度 */ { int j; out=v[i]; for(j=i;j=n-1; j++) v[j]=v[j+1]; /* 从i+1到n位置上的元素逐个上移 */ n--; } 3. 线性表元素定位操作 下图(a)所示的是无序线性表,其数据元素在线性表中的存放是任意的;图(b)所示的是有序线性表,其数据元素的排列按英文字母的字母顺序从小到大存放。有序线性表有如下特点,设V为有序线性表,数据元素ai值的相邻关系为ai-1≤ai≤ai+1。 无序和有序线性表 (a) 无序线性表;(b) 有序线性表 无序表查找操作: ESEARCH(v[],n,t) 算法分析: 23 75 41 38 54 62 17 V[1] V[n] t = 38 p p p p p 序号i 1 2 3 4 1 8 50 p 原操作是: 将顺序表中的元素逐个和给定值t相比较。 无序线性表的查找算法框图 无序线性表的查找算法如下: /* 无序线性表的查找算法 */ ESEARCH(v[],n,t) /* v是无序线性表,n是线性表的长度,t是被查找的记录 */ { int i; v[n+1]=t; /* 建立无序查找的结束标志 */ i=1; while(v[i]!=t) i++; if(i=n) return(search, true); else return(search, false); } 有序线性表的查找算法框图 有序线性表的查找算法如下: /* 有序线性表的查找算法 */ EGSEARCH(v[], n,t ) /* v是有序线性表,n是线性表的长度,t是被查找的记录 */ char search[6]; { int i; v[n+1]=∞; /* 设置查找的结束标志 */ i=1; while(v[i]t) i++; if(v[i]==t) printf(search,true); else printf(search, false); } 优点: 1.无需为表示结点间的逻辑关系而增加额外的存储空间; 2.可方便地随机存取表中的任一元素。 缺点: 1.插入或删除运算不方便,除表尾的位置外,在表的其它位置上进行插入或删除操作都必须移动大量的结点,其效率较低; 2.由于顺序表要求占用连续的存储空间,存储分配只能预先进行静态分配。因此当表长变化较大时,难以确定合适的存储规模。 解决问题的思路:改用另一种线性存储方式. 顺序存储结构的优点和缺点 链式存储结构 小结 线性表的逻辑定义 线性表的顺序表示和实现 * 第2章 线性表(一) 张成文 北京邮电大学计算机学院 教学要求 1.了解:线性表的定义和基本运算。 2.掌握:线性表的两种存储结构:顺序存储结构和链式存储结构的描述方式,以及这两种存储结构上的基本运算的实现算法。 3.掌握:线性表的两种存储结构的特点及其具体实现。 主要内容 2.1 线性表引例 2.2 线性表的定义和逻辑结构 2.3 线性表的基本运算 2.4 线性表的顺序存储结构 2.5 顺序表应用 2.6 小结 线性表引例 例 某大学欲进行一次数学竞赛,约有200名学生报名参赛。现将报名登记表(如下表所示)存入计算机以便完成如下工作: (1) 能正确录入学生记录; (2) 按成绩对该表进行重新排序; (3) 按学号或姓名查询学生成绩。 报 名 登 记 表 学 号 姓 名 性 别 成 绩 2003 张三 男 84 2024 李四 男 79 2035 王五 女 75 线性表的定义和逻辑结构 线性表的概念 线性表是指n(n≥0)个具有相同类型数据元素(或称结点)的有限序列,可表示为(a1,a

文档评论(0)

开心农场 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档