- 1、本文档共38页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 2.5 顺序表和链表的综合比较 * 线性表长度的考虑 若表的长度增加不太多时,顺序表可作为首选的结构;反之,则选择链表。 算法所涉及到具体操作的考虑 算法是否频繁遇到插入和删除的操作?如是,则选用链表。 算法是否常会遇到位序的定位操作?如是,则以顺序表为宜。 * 本章学习要点 * 1. 了解线性表的逻辑结构特性是数据元素之间存在着线性关系,在计算机中表示这种关系的两类不同的存储结构是顺序存储结构和链式存储结构。用前者表示的线性表简称为顺序表,用后者表示的线性表简称为链表。 * 2. 熟练掌握顺序表和链表这两类存储结构的描述方法,以及线性表的各种基本操作的实现。 链表的形式有多种变种,可根据需要酌情采用。 * 3. 能够从时间和空间复杂度的角度综合比较线性表两种存储结构的不同特点及其适用场合。 如果线性表的元素之间存在有序性,则选用有序表类型,常可以优化算法的时间复杂度。 第4次书面作业 2.1,2.2,2.3,2.4,2.7 第5次上机作业 单链表的实现 1. 编写LinkList.h文件 (1) 结构体定义. p32 (2) 插入结点方法. p35 (3) 删除结点的方法. p36 (4) 输出结点数据的方法. 自己写. 2. 编写 *.cpp文件 主函数,在主函数中调用LinkList.h中的方法 第4次书面作业 2.1,2.2,2.3,2.4,2.7 * 第2章 线性表3 线性表是一种最简单的数据结构,也是构造其它各类复杂数据结构的基础。它有顺序和链式两种存储表示方法。 线性表的类型定义包括它的逻辑定义及其操作,以不同的存储方式表示线性表时,其操作也各具特色。 通过对线性表的操作及线性表应用算法的评价,可以加深对算法分析方法的理解。 * 2.3 线性表的链式表示和实现 2.4 有序表 2.5 顺序表和链表的综合比较 * 2.3 线性表的链式表示和实现 现在讨论线性表的另一种存储表示 ━━ 链表,并以此来实现线性表类型的操作。在具体实现中,淡化了位序的概念。 * 一、单链表 二、结点和单链表的 C 语言描述 三、单链表的基本操作 四、单链表的创建操作 五、其它形式的链表 * 用一组地址任意的存储单元存放线性表中的数据元素。 一、单链表 以元素(数据元素的映象) + 指针(指示后继元素存储位置) = 结点 (表示数据元素 或 数据元素的映象) 以“结点的序列”表示线性表 ?? 称作链表 * 以线性表中第一个数据元素a1的存储地址作为线性表的地址,称作线性表的头指针。 头结点 a1 a2 … ... an ^ 头指针 头指针 有时为了操作方便,在第一个结点之前虚加一个“头结点”,以指向头结点的指针为链表的头指针。 空指针 线性表为空表时, 头结点的指针域为空 ? * typedef struct LNode { ElemType data; // 数据域 struct LNode *next; // 指针域 } LNode, *LinkList; 二、结点和单链表的 C 语言描述 LinkList L; // L 为单链表的头指针 * 三、单链表的基本操作 ListLength_L // 求线性表的长度 LocateElem_L // 查找元素 ListInsert_L // 插入结点 ListDelete_L // 删除结点 * 线性表的操作 ListLength_L( L ) 在单链表中的实现: L 21 18 30 75 42 56 ∧ p k 0 p 1 p 2 p 3 4 p 5 p p 6 * 单链表只能按顺序存取,求以此为存储表示的线性表长度,可设置一个计数器。 边遍历链表的结点,边进行计数,当遍历的指针跑空时,计数器的累计结果即为线性表的长度。 * int ListLength_L( LinkList L ) { // L 为链表的头指针,本函数返回 L 所指链表的长度 p=L; k=0; while ( p ) { k++; p=p-next; // k
您可能关注的文档
- 9_新第九章查找答辩.ppt
- 第2章PLD基础分析.ppt
- 9-1亡羊补牢答辩.ppt
- 第一章视图的基本原理技巧.ppt
- 第2章SRD(二版)分析.ppt
- 第2章刀具材料分析.ppt
- ACM输入输出介绍探索.ppt
- 9第二单元-第一章-第三节-细胞的生活答辩.ppt
- 9第九章区域发展战略答辩.ppt
- 第2章地图的数学基础分析.ppt
- 妇产科学基础知识普及.pptx
- 外科学基础与治疗策略.pptx
- 2024年新苏教版一年级上册数学课件 第四单元 10的认识和加减法 第2课时 得数是10 的加法和相应的减法.pptx
- 2024年新华师大版数学七年级上册 2.3.1 单项式 教学课件.pptx
- 2024年秋新人教版七年级上册英语教学课件 Starter Unit 2 Section B.pptx
- JavaWeb程序设计任务教程(第3版)(AIGC版)-教案-教学设计 第3章 Servlet.docx
- 2024秋新冀教版数学一年级上册课件 第六单元 期末复习 第2课时 20以内数的加减.pptx
- 2024年新沪粤版八年级上册物理课件 5.1 物体的质量.ppt
- 2024年秋新北师大版七年级上册数学教学课件 2.5有理数的混合运算课时1.pptx
- 妇产科临床护理技能提升.pptx
文档评论(0)