- 1、本文档共58页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
@ DCS of SUSE 基本概念 (1)数据:所有能被计算机识别、存储和处理的符号的集合(包括数字、字符、声音、图像等信息 )。 (2)数据元素:是数据的基本单位,具有完整确定的实际意义。在计算机程序中通常作为一个整体进行考虑和处理。一个数据元素可由若干个数据项组成。 (3)数据项:构成数据元素的项目。它是数据不可分割的最小单位。 (4)数据类型:指一个类型和定义在这个类型上的操作集合。例:C语言(基本类型:整型、浮点型、字符型等构造类型:数组、结构、联合、指针、枚举等) (5)抽象数据元素:抽象定义的、没有实际含义的数据元素。 (6)抽象数据类型:用户自己定义的数据类型。 数据结构 (1) R=(D, S) D={ a, b, c, d, e, f } S={a,e, b,c, c,a, e,f, f,d} 物理结构亦称存储结构,是数据的逻辑结构在计算机存储器内的表示(或映像)。它依赖于计算机。 第2章 线性表 复习要点: 1.基本概念 线性结构、线性表、位序、长度、空表等 2.线性表的基本操作 主要掌握插入、删除等运算及特性 3.顺序存储、链式存储特点,组织方式 顺序表、单链表、双链表的查找、插入和删除等操作 一、线性表(linear_list) 线性表是n个数据元素的有限序列,记为: L=(a1,a2, …,an) 线性表的顺序存储结构 一、顺序存储结构 用一组地址连续的存储单元依次存储线性表的元素。设线性表的每个元素占用k个存储单元,则第i个元素ai 的存储位置为:Loc(ai)=Loc(a1)+(i-1)*k 其中,Loc(ai)为线性表的起址。 二. 插入和删除操作 1. 插入运算 INSERT(L, i, b) 插入前:L=(a1, ... , ai-1, ai, ... ,an) 插入后:L=(a1, ... , ai-1, b, ai, ... ,an ) 线性表上的基本运算 插入运算 含义: 将元素e插入到线性表:(a1, a2, …, ai-1, ai, …, an)中,构成新的线性表(a1, a2, …, ai-1, e, ai, …, an),满足ai-1 ≤e ≤ai,(其中≤为比较关系),即不破坏原线性关系。 表的长度为n+1 将元素e插入到元素ai-1之后,ai-1的直接后继和ai 的直接前驱就改变了,需要在顺序表的存储结构上反映出来。 2. 删除运算DELETE(L,i) 删除前:L=(a1,...,ai-1,ai,ai+1,...,an) 删除后:L=(a1,...,ai-1,ai+1,...,an) 线性表顺序存储结构的特点 (1). 逻辑上相邻的元素,其物理位置也相邻; (2). 可随机存取表中任一元素; (3). 必须按最大可能长度预分存储空间,存储空间利用率低,表的容量难以扩充,是一种静态存储结构; (4). 插入删除时,需移动大量元素,平均移动元素为n/2。 顺序表的基本运算的复杂度 插入 T(n)=O(n) ,S(n)=O(1) 删除 T(n)=O(n) ,S(n)=O(1) 线性表的链式表示和实现 链表---线性表的链式存储 内涵: 线性表的链式存储指用任意的存储单元存放线性表中的元素,每个元素与其直接前驱和(或)直接后继之间的关系用指针来存储。这称为链表。 术语 结点:数据元素及与其有直接关系的元素的地址构成的存储单位。 单链表的表示和实现 单链表上的查找运算 在单链表中,必须从头指针出发进行查找: 查找第i个元素 查找指定的元素是否在表中 ... 若找到,则返回该元素的值,否则返回ERROR。 在单链表上查找第i个元素的示意图 单链表上的插入运算(第i个位置上插入新的结点) 逻辑运算 (a1, a2, …, ai-1, ai, ai+1, …, an) 链表的优缺点 优点: 插入、删除时无须移动元素,只需修改指针 根据需要申请存储空间,且不要求连续的存储空间 缺点: 对表中的元素只能进行顺序访问 用指针指示元素之间的逻辑关系(直接前驱、后继),存储空间利用率低 双向链表 双向链表上的插入操作(将元素e插入到链表的第i个结点前) 双向链表上的删除操作(删除第i个结点) 第3章 栈和队列 一、栈的概念 栈(stack)是插入和删除操作限定在表尾进行的线性表。 栈的逻辑表示为:S =(a1,a2, …,an) 表尾元素an称为栈顶(top) 表头元素a1称为栈底(bottom) 不含元素的空表称为空栈 栈的运算特性是后进先出(Last In First Out-
您可能关注的文档
最近下载
- 《信用管理》模拟试题及参考答案(2套).pdf
- 2024年03月西南民族大学2024年公开招聘教师笔试笔试历年典型考题及考点研判与答案解析.docx
- YY_T 0003-2023 手动病床标准.pdf
- 人教版七年级英语上册期末总复习语法知识点专项练习100题( 含答案).pdf
- 精品解析:2020-2021学年浙江省金华市义乌市教科版五年级上册期中考试科学试卷(原卷版).docx VIP
- 优秀销售培训ppt课件.pptx
- DB44∕T 857-2011 新建房屋白蚁预防技术规程(广东省).pdf
- ChatGPT+MindShow 三分钟搞定PPT制作.pdf VIP
- 分块式定子焊线机.pdf VIP
- 2021年最新四川省拟任县处级党政领导职务政治理论水平任职资格考试第八套试题.doc VIP
文档评论(0)