版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、关于计算机二级数据结构与算法第一张,PPT共六十七页,创作于2022年6月21. 基本数据结构与算法第二张,PPT共六十七页,创作于2022年6月31.1 算法1.1.1 算法(algorithm)基本概念对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一条指令表示一个或多个操作。它是一组严谨地定义运算顺序的规则,并且每一个规则都是有效的,且是明确的,此顺序将在有限的次数下终止。第三张,PPT共六十七页,创作于2022年6月4算法的基本特征可行性确定性有穷性拥有足够的情报输入和输出第四张,PPT共六十七页,创作于2022年6月5算法的基本要素 1、对数据对象的运算和操作算术运算:加、减
2、、乘、除等运算逻辑运算:“与” 、“或” 、“非”等运算关系运算:“大于” 、“等于”等运算数据传输:赋值、输入、输出等运算第五张,PPT共六十七页,创作于2022年6月6算法的基本要素 2、算法的控制结构算法中各操作之间的执行顺序描述算法的工具通常有传统流程图、N-S结构化流程图、算法描述语言等一个算法一般可以用顺序、选择、循环三种基本机构组合而成。第六张,PPT共六十七页,创作于2022年6月7算法设计基本方法列举法归纳法递推递归(以简洁的形式设计和描述算法)减半递推技术回溯法第七张,PPT共六十七页,创作于2022年6月81.1.2 算法复杂度时间复杂度 是指执行算法所需要的计算工作量。
3、 一般用算法在执行过程中所需要的基本运算的执行次数来度量算法的工作量。 算法中基本运算执行次数和问题的规模有关。 算法的工作量f(n) 有时在固定规模下,基本运算执行次数还和具体输入有关。第八张,PPT共六十七页,创作于2022年6月9 平均性态 最坏情况复杂性X出现的概率算法在输入x时所执行的基本运算次数规模为n时,算法执行时所有可输入的集合第九张,PPT共六十七页,创作于2022年6月10算法的空间复杂度 一般是指执行这个算法所需要的内存空间一个算法所占用的存储空间包括算法程序所占的空间、输入的初始数据所占的存储空间以及某种数据结构所需要的附加存储空间 一个上机执行的程序除了需要存储空间来
4、寄存本身所用指令、常数、变量和输入数据外,也需要一些对数据进行操作的工作单元和存储一些为实现计算所需信息的辅助空间。第十张,PPT共六十七页,创作于2022年6月111.2 数据结构数据结构的定义数据的逻辑结构和存储结构数据结构的图形表示线性结构与非线性结构第十一张,PPT共六十七页,创作于2022年6月121.2.1 数据结构研究的主要内容当今计算机应用的特点:所处理的数据量大且具有一定的关系;对其操作不再是单纯的数值计算,而更多地是需要对其进行组织、管理和检索。第十二张,PPT共六十七页,创作于2022年6月13应用举例学籍档案管理假设用计算机管理学生档案,研究对象为:学生,常用操作查找、
5、删除、修改、插入等一个学籍档案管理系统应包含如下表1-1所示的学生信息。第十三张,PPT共六十七页,创作于2022年6月14第十四张,PPT共六十七页,创作于2022年6月15特点:每个学生的信息占据一行,所有学生的信息按学号顺序依次排列构成一张表格。表中每个学生的信息依据学号的顺序存在着一种前后关系,这就是我们所说的线性结构。对它的操作通常是插入某个学生的信息,删除某个学生的信息,更新某个学生的信息,按条件检索某个学生的信息等等。 第十五张,PPT共六十七页,创作于2022年6月16 数据结构是一门研究数据组织、存储和运算的一般方法的学科。1.2.2 基本概念和术语数据结构主要研究和讨论以下
6、三个方面的问题:1.数据集合中各数据元素之间所固有的逻辑关系, 即数据的逻辑结构。2.在对数据进行处理时,各数据元素在计算机中的存储关系, 即数据的存储结构。3.对各种数据结构进行的运算。位置:P6,重要。第十六张,PPT共六十七页,创作于2022年6月17能输入到计算机中并能被计算机程序处理的符号的集合。整数(1,2)、实数(1.1,1.2)字符串(Beijing)、图形、声音。1.2.2 基本概念和术语 数据结构是一门研究数据组织、存储和运算的一般方法的学科。第十七张,PPT共六十七页,创作于2022年6月181.2.2 基本概念和术语计算机管理图书问题 在图书馆里有各种卡片:有按书名编排
7、的、有按作者编排的、有按分类编排如何将查询图书的这些信息存入计算机中既要考虑查询时间短,又要考虑节省空间 数据结构是一门研究数据组织、存储和运算的一般方法的学科。第十八张,PPT共六十七页,创作于2022年6月19最简单的办法之一是建立一张表,每一本书的信息在表中占一行,如 1.2.2 基本概念和术语 数据结构是一门研究数据组织、存储和运算的一般方法的学科。第十九张,PPT共六十七页,创作于2022年6月20将各种逻辑结构的数据存放在计算机存储空间中。 目的不同,最佳的存储方方法就不同。 数据元素在计算机中的表示 数据结构是一门研究数据组织、存储和运算的一般方法的学科。1.2.2 基本概念和术
8、语第二十张,PPT共六十七页,创作于2022年6月21对数据结构中的节点进行操作处理(插入、删除、修改、查找、排序)1.2.2 基本概念和术语 数据结构是一门研究数据组织、存储和运算的一般方法的学科。第二十一张,PPT共六十七页,创作于2022年6月22数据元素(Data Element) 现实世界中客观存在得一切个体或个体相关的操作都可以抽象为数据元素。 如:四季的名称:春、夏、秋、冬由季节抽象而来,可以作为季节的数据元素。 同理,父亲、儿子、女儿可以作为家庭成员的数据元素。 简单的说,数据结构是指相互有关联的数据元素的集合。第二十二张,PPT共六十七页,创作于2022年6月23数据元素(D
9、ata Element) 甚至客观存在的事件,如演出、借书、比赛等也可以抽象为数据元素。 在具有相同特征的数据元素集合中,各个数据元素之间存在某种关系,这种关系反映了该集合中的数据元素所固有的一种结构。在数据处理领域中,通常把数据元素之间的这种固有的关系简单地用前后件关系来描述。第二十三张,PPT共六十七页,创作于2022年6月24数据的逻辑结构表示数据元素的信息表示数据元素之间的前后件关系。数据逻辑结构通常用二元组表示数据逻辑结构也可用图形表示第二十四张,PPT共六十七页,创作于2022年6月25数据逻辑结构可表示为:B=(D,R)B表示数据结构D表示数据元素的集合R表示数据元素间前后件关系
10、为反映前后件关系,通常用二元组(a,b)来表示,它表示a是b的前件。第二十五张,PPT共六十七页,创作于2022年6月26B=(D,R)D=父亲,儿子,女儿R=(父亲,儿子),(父亲,女儿)B=(D,R)D=春,夏,秋,冬R=(春,夏),(夏,秋),(秋,冬)第二十六张,PPT共六十七页,创作于2022年6月27数据结构的图形表示春夏秋冬一年四季数据结构的图形表示ABCD第二十七张,PPT共六十七页,创作于2022年6月28数据的存储结构数据的逻辑结构在计算机存储空间的表示。各数据元素在计算机存储空间中的位置与逻辑关系不一定相同。常用的存储结构有:顺序、链接、索引等。第二十八张,PPT共六十七
11、页,创作于2022年6月29数据的存储结构.6427531.字节.6427531.冬夏秋春.6427531.儿子女儿4006父亲第二十九张,PPT共六十七页,创作于2022年6月30二级公共基础05年4月试题 (1)数据的存储结构是指A)存储在外存中的数据B)数据所占的存储空间量C)数据在计算机中的顺序存储方式D)数据的逻辑结构在计算机中的表示第三十张,PPT共六十七页,创作于2022年6月31线性结构与非线性结构有且只有一个根结点(没有前件的结点)。每一个结点最多只有一个前件,也最多只有一个后件。第三十一张,PPT共六十七页,创作于2022年6月32线性结构 A , B , C , ,X ,
12、Y , Z学 生 成 绩 表86胡孝臣986110395刘忠赏9861107100张卓9861109成绩姓名学号线性表结点间是以线性关系联结ABC第三十二张,PPT共六十七页,创作于2022年6月33非线性结构 如果数据结构不满足线性结构的条件,则称之为非线性结构。此外,在线线结构中插入或删除一个 结点,还应是线线结构,否则此结构非线线ABCD第三十三张,PPT共六十七页,创作于2022年6月34树形结构全校学生档案管理的组织方式计算机程序管理系统也是典型的树形结构第三十四张,PPT共六十七页,创作于2022年6月35ABCDEFGH树形结构 结点间具有分层次的连接关系HBCDEFGA第三十五
13、张,PPT共六十七页,创作于2022年6月361.3 线性表1.3.1 线性表的定义 线性表是n个元素的有限序列,它们之间的关系可以排成一个线性序列: a1,a2, ,ai, ,an其中n称作表的长度,当n=0时,称作空表。第三十六张,PPT共六十七页,创作于2022年6月37线性表的特点:1.线性表中所有元素的性质相同。2.除第一个和最后一个数据元素之外,其它数据元素有且仅有一个前件和一个后件。第一个数据元素无前件,最后一个数据元素无后件。3.数据元素在表中的位置只取决于它自身的序号。在线性表上常用的运算有:初始化、求长度、取元素、修改、前插、删除、检索、排序。第三十七张,PPT共六十七页,
14、创作于2022年6月381.3.2 线性表的顺序存储结构线性表顺序存储结构的特点: 1、线性表所有元素所占的存储空间是连续的。 2、线性表各数据元素在存储空间中是按逻辑顺序依次存放的。 在计算机中存放线性表,采用顺序存储是一种简单方便的方法。 第三十八张,PPT共六十七页,创作于2022年6月39元素an.元素ai.元素a2元素a1bADR(a1) +k存储地址内存状态顺序存储结构示意图(顺序表):首地址ADR(a1)每个元素所占用的存储单元个数ADR(a1) + (i-1)* kADR(a1) + (n-1)* kADR(ai) =ADR(a1) + (i-1)* k第三十九张,PPT共六十
15、七页,创作于2022年6月40n-1线性表的插入和删除运算示意图ai-1.a2a1an ai+1ai x ai-1. a2 a1 ai ai+1 alength an ai+1 ai x删除运算插入运算第四十张,PPT共六十七页,创作于2022年6月41若长度为n的线性表表示为:( a1,a2,ai,an)运算后表示为: ( a1,a2,ai,an),则满足以下关系:插入新元素b后ajaj 1=j=i-1b j=iaj-1 i+1=j=n+1长度增加为:n+1删除第i个元素后ajaj 1=j=i-1aj +1 i=j=n-1长度减少为:n-1第四十一张,PPT共六十七页,创作于2022年6月4
16、21.4 栈和队列1.4.1 栈和队列的定义 栈和队列是两种特殊的线性表,它们是运算时要受到某些限制的线性表,故也称为限定性的数据结构。第四十二张,PPT共六十七页,创作于2022年6月431.4.1.1栈的定义栈:限定只能在表的一端进行插入和删除的特殊的线性表,此种结构称为先进后出(FILO)或后进先出(LIFO)设栈s=(a1,a2,. . . ,ai,. . . ,an),其中a1是栈底元素, an是栈顶元素。栈顶(top):允许插入和删除的一端;栈底(bottom):不允许插入和删除的一端。约定用指针top始终指向栈顶的位置,用指针bottom指向栈底。 a1 a2 . ai进栈出栈t
17、opbottomn1第四十三张,PPT共六十七页,创作于2022年6月441.4.2 栈的顺序存储结构及其基本运算 a2 a1 a1 a2 top 用顺序存储结构表示的栈。 顺序栈用一组连续的存储单元存放自栈底到栈顶的数据元素,一般用一维数组表示,设置一个简单变量top指示栈顶位置,称为栈顶指针,它始终指向待插入元素的位置。基本运算:压(进)栈:PUSH出栈:POP读栈顶元素第四十四张,PPT共六十七页,创作于2022年6月45进栈示例 栈满:栈顶指针指向存储空间的最后一个位置第四十五张,PPT共六十七页,创作于2022年6月46退栈示例第四十六张,PPT共六十七页,创作于2022年6月471
18、.4.1.2 队列( Queue )的定义定义:一种特殊的线性结构,限定只能在表的一端进行插入,在表的另一端进行删除的线性表 。 a1 , a2 , a3 , a4 , an-1 , an 队 列 示 意 图队头队尾队列只允许在队尾插入,在对头删除。队头指针:front:指向排头元素的前一个位置队尾指针:rear:指向队尾元素此种结构称为先进先出(FIFO)或后进后出(LILO)。第四十七张,PPT共六十七页,创作于2022年6月48队列的主要运算(1)插入一个新的队尾元素,称为进队;(2)删除队头元素,称为出队;(3)读取队头元素;当有新元素入队时,尾指针加1,当有元素出队时,头指针加1。故
19、在非空队列中,头指针始终指向队头元素前一个位置,而尾指针始终指向队尾元素的位置第四十八张,PPT共六十七页,创作于2022年6月49队列的进队和出队 进队时队尾指针先进一 rear = rear + 1,再将新 元素按 rear 指示位置加入。 出队时队头指针先进一 front = front + 1,再将 下标为 front 的元素取出。 队满时再进队将溢出出错;队空时再出队将队 空处理。队满:队尾指针指向存储空间的最后一个位置第四十九张,PPT共六十七页,创作于2022年6月50定义:存储队列的线型空间被模拟为首尾相接的环形空间处理。循环队列(长度为m)的的性质:循环队列的初始状态:fro
20、nt =rear=m队头、队尾指针加1时若结果等于m1置为1。循环队列 (Circular Queue)第五十张,PPT共六十七页,创作于2022年6月51Q(1:m)21mrear front 第五十一张,PPT共六十七页,创作于2022年6月52Q(1:6)rear front AECDBF第五十二张,PPT共六十七页,创作于2022年6月53队空时:front = rear;队满时: front = rear 由于 队满和对空的条件一样,无法判断循环队列的状态,所以增加了一个标志s,s的定义如下:s1 表示队列非空0 表示队列空P19-20详细说明第五十三张,PPT共六十七页,创作于20
21、22年6月541.5 链表线性链表指针数据线性链表节点指针数据指针数据第五十四张,PPT共六十七页,创作于2022年6月551.5.1 线性表的链式存储结构 将线性表的元素放到一个具有头指针的链表中,链表中每个结点包含数据域和指针域。 数据域存放数据,指针域存放后继结点的地址,最后一个结点的指针域为空。逻辑上相邻的数据元素在内存中的物理存储空间不一定相邻。第五十五张,PPT共六十七页,创作于2022年6月56上图的线性表为ZHAO,QIAN,SUN,LI,ZHOU,WU,ZHENG,WANG第五十六张,PPT共六十七页,创作于2022年6月57线性链表表示法:0第五十七张,PPT共六十七页,创作于2022年6月58双向链表 在每个结点中设置两个指针,一个指向后继,一个指向前驱。可直接确定一个结点的前驱和后继结点。可提高效率。datanextbefore第五十八张,PPT共六十七页,创作于2022年6月59链式存储结构的特点 插入、删除灵活方便,不需要移动结点,只要改变结点中指针域的值即可。 适合于线性表是动态变化的,不进行频繁查找操作、但经常进行插入删除时使用。 链表的查找只能从头指针开始顺序查找。 第五十九张,PPT共六十七页,创作于2022年6月60babaxHH线性链表的插入运算S在H所指向的结点之后插入新的结点1.5.2 线性
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026icu面试题及答案
- 2026java集合面试题及答案分析
- 2026linux运维面试题及答案
- 2026年全国安全知识竞赛经典题库及答案
- 初中八年级数学因式分解专项复习教学设计
- 小学英语六年级上册“Food”主题项目化学习知识清单
- 小学六年级数学跨学科项目化导学案:家庭用水画像与节水系统重构
- 2026年环保垃圾分类试题及答案
- 九年级英语(人教版)Unit 6 被动语态(Past Passive Voice)深度学习与跨学科应用教学设计
- 2026年潜水活动安全监管考核试卷
- DBJ15-101-2014 建筑结构荷载规范
- 中医内科副高级职称考试历年真题及答案
- 产品质量投诉处理流程与技巧
- 2025-2030中国注册安全工程师考试大纲修订对安全生产培训市场冲击报告
- 《肉羊智慧养殖技术规范》征求意见稿
- 2024年(煤矿)采煤班组长培训考试题库附答案(含各题型)
- 学堂在线 日语与日本文化 章节测试答案
- 福建省福州第八中学2025届高一下化学期末教学质量检测试题含解析
- QGDW12505-2025电化学储能电站安全风险评估规范
- QGDW11008-2013低压计量箱技术规范
- 腹腔镜下肝叶切除术护理查房
评论
0/150
提交评论