大学计算机第四章.ppt
《大学计算机第四章.ppt》由会员分享,可在线阅读,更多相关《大学计算机第四章.ppt(69页珍藏版)》请在三一办公上搜索。
1、第四章 软件基础,第2页,计算机二级考试公共基础知识,基本数据结构与算法(教材4.2节)程序设计基础 软件工程基础 数据库设计基础(教材第8章自学),二级考试科目分成二级语言程序设计(C、C、Java、Visual Basic)和二级数据库程序设计(Visual FoxPro、Access)两类。公共基础知识在各科笔试中的比重为30%,(教材4.1节自学),第3页,算法 算法的基本概念 算法的表示 常用算法 算法的评价,一、基本数据结构与算法,数据结构 数据结构的概念 线性表 栈和队列 树与二叉树 查找技术 排序技术,第4页,对解题方案准确而完整的描述称为算法。程序用计算机语言描述的算法 流程
2、图图形化的算法(机械图),算法是程序设计的核心,算法的基本概念,INPUT rS=r*r*3.14PTINT S,开始,输入R,S=R*R*3.14,输出S,结束,问题:输入园的半径,计算园的面积,起止框,输入输出框,处理框,第5页,算法分为两类:数值计算算法 求数值解 特点:少量的输入、输出,复杂的运算 非数值计算算法 数据处理 特点:大量的输入、输出,简单的运算,第6页,算法的两个要素:,操作 算术运算 关系运算 逻辑运算 数据传输,控制结构 顺序 选择 循环,第7页,算法的基本特征 是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。,有穷性 确定
3、性 可行性 输入 输出,拥有足够的情报,第8页,算法的表示 描述算法的方法有多种:自然语言传统流程图N-S流程图伪代码计算机语言,第9页,变量C是一个临时工作单元,用来保存中间结果。,算法举例 两个变量的值交换 有红、蓝两个墨水瓶,要求将其互换。,C=BB=AA=C,高级语言语句实现,第一步,第二步,第三步,第10页,计数器和累加器,计数器(统计入场人数,超过100人结束)i=i+1,累加器sum=sum+x,进入一个人,i=100,i=i+1,0i,y,问题:求阶乘用什么算法?,n,结束入场,n,第11页,算法评价(算法复杂度)评价一个算法优劣的主要标准是算法的执行效率和存储需求:时间复杂度
4、:执行这个算法所需要的计算工作量 空间复杂度:执行这个算法所需要的内存空间 时间复杂度它大致等于计算机执行一种简单操作所需的平均时间(对于同以台计算机,这个指标是固定的)与算法中进行简单操作的次数的乘积。空间复杂度一个算法在计算机存储器上所占用的存储空间,包括存储算法本身所占用的存储空间、算法中的输入输出数据所占用的存储空间和算法在运行过程中临时占用的存储空间这三个部分。,第12页,算法1:C=BB=AA=C,举例:两个变量的值交换,时间复杂度:3次简单运算,空间复杂度:两个变量和引入的一个中间变量,算法2:A=A+BB=A-BA=A-B,时间复杂度:3次简单运算,空间复杂度:两个变量,第13
5、页,练习:,1.算法的复杂度主要包括_复杂度和_复杂度。2.算法的基本特征是可行性,确定性,有穷性 和拥有足够的情报。(判断题)3.算法的时间复杂度是指()A)执行算法程序所需要的时间 B)算法程序的长度C)算法执行过程中所需要的基本运算次数 D)算法程序中的指令条数4.空间复杂度是指()。A)算法程序的长度 B)算法程序中的指令条数C)算法程序所占的存储空间 D)执行过程中所需要的存储空间,时间,空间,C,D,第14页,当今计算机应用的特点:处理的数据量大且具有一定的关系;对数据的操作不再是单纯的数值计算,更多地是需要对数据进行组织、管理和检索。,二、数据结构,有的专家说:程序=算法+数据结
6、构,第15页,数据结构的概念和术语,数据 是对客观事物的符号表示。在计算机科学中其含义是指所有能够输入到计算机中并被计算机程序处理的符号集合。数据元素(记录)是数据的基本单位,即数据集合中的个体。有时一个数据元素由若干个数据项组成,这种情况下,称数据元素为记录。数据项 是数据的不可分割的最小单位。,第16页,应用举例学籍档案管理,数据元素(记录),数据项,由记录组成的线性表称为数据文件,第17页,数据结构简单地说,就是相互之间存在一种或多种特定关系的数据元素的集合。被计算机加工的元素不是孤立无关的,它们彼此之间存在某些联系,通常将数据元素间的这种关系称为结构。,数据结构就是研究数据和数据之间关
7、系的一门学科,它包括三个方面。数据的逻辑结构 数据的存储结构 数据的运算,第18页,数据结构的图形表示,数据结构可用直观地图形表示.在数据结构的图形表示中,对于数据集合D中的每一个数据用中间标有数据值的方框或圆形表示,一般称之为数据结点,简称为结点;为了进一步表示各数据元素之间的前后件关系,用一条有向线段从前件结点指向后件结点.,春,夏,秋,冬,一年四季的数据结构,父亲,儿子,女儿,没有前件的结点称为根结点,没有后件的结点称为叶子结点数据“春”与数据“父亲”是根结点;数据“冬”与数据“儿子”与“女儿”是叶子结点。这种前后件的关系就叫结构,家庭成员间辈分关系数据结构,第19页,逻辑结构 只抽象地
8、反映数据元素的结构,而不管其存储方式的数据结构称为逻辑结构。常见的有:线性结构、树形结构和图形结构。,线性结构,树形结构,图形结构,存储结构(物理结构)是指数据结构在计算机存储器中的具体实现。思考:与所使用的计算机无关的是哪种结构?,结构中的每个元素之间存在一对一、一对多、多对多的关系,第20页,线性结构与非线性结构线性结构典型的例子就是线性表线性表是由n(n0)个类型相同的数据元素组成的有限序列。通常表示成下列形式:L=(a1,a2,.,ai-1,ai,ai+1,.,an)如:La=(34,89,765,12,90,-34,22)Ls=(Hello,World,China,Welcome)若
9、一个非空的数据结构满足下列两个条件:有且只有一个根结点;每个结点最多有一个前件,也最多有一个后件。则称该数据结构为线性结构,线性结构又称线性表。一个数据结构不是线性结构,则称其为非线性结构。,第21页,存储结构(物理结构)存储结构指数据结构在计算机存储空间中的具体实现。常见的存储结构有:顺序存储结构:特点是借助于数据元素的相对存储位置来表示数据元素之间的逻辑结构;链式存储结构:特点是借助于指示数据元素地址的指针表示数据元素之间的逻辑结构。,逻辑相邻,那么存储位置是否也相邻呢?,第22页,数据的运算 检索 插入 删除 更新 排序,一种数据的逻辑结构可以表示成不同的存储结构,采用不同的存储结构,其
10、数据处理效率是不一样的。,第23页,数据结构研究的主要问题,数据结构是研究数据和数据之间关系的一门学科,研究以下三方面内容:数据的逻辑结构 数据的存储结构 数据的运算,问题:数据的逻辑结构在计算机存储空间中的存放形式称为数据的(存储结构)。,第24|92页,常见的数据结构,1.线性表 2.栈和队列 3.树,第25页,线性表(Linear List),线性表是由n(n0)个数据元素 a1,a2,ai,an组成的一个有限序列。,简单的线性表,复杂的线性表,记录1 02011001 张三 男,记录2 02011003 李四 女,记录3,记录4,第26页,线性表的存储结构,线性表的存储结构有两种:顺序
11、存储结构 链式存储结构,注意:数据元素在计算机存储空间中的位置关系与它们的逻辑关系不一定是相同的。一个逻辑数据结构可以有多种存储结构,且不同的存储结构影响数据处理的效率。,第27页,线性表的顺序存储结构,顺序存储结构把逻辑上相邻的数据元素存储在物理上相邻的存储单元里,顺序存储结构只存储结点的值,不存储结点间的关系,结点间的关系由存储单元的邻接关系来体现。,存储地址,Loa(a1),Loa(a1)+L,Loa(a1)+L*(i-1),Loa(a1)+L*(n-1),每个结点元素占L个字节,Loa(ai)=Loa(a1)+L*(i-1),第28页,顺序表的插入运算 顺序表的删除运算,顺序表的插入和
12、删除运算,在线性表顺序存储情况下,要插入或删除一个元素,都会由于数据元素的移动而消耗大量的处理时间,所以这种存储方式对于小线性表或其中数据元素不经常变动的线性表是合适的。,线性表的顺序存储结构称为顺序表。,数据元素的移动而消耗大量的处理时间,第29页,线性表的链式存储结构,线性表的链式存储结构称为线性链表。链式存储结构不要求逻辑上相邻的数据元素物理位置也相邻,而且各数据元素的存储顺序也是任意的。各数据元素的先后关系是由各结点的指针域指示。链式存储结构的每一个存储结点不仅存储结点的值,而且存储结点之间的关系:,第30页,应用举例线性链表的存储结构,设线性表为(a1,a2,a3,a4,a5),HE
13、AD,3,线性链表的物理状态,线性表的顺序存储结构,第31页,单链表的插入运算 单链表的删除运算,线性链表的插入和删除运算,采用链式存储结构,存储空间开销较大,但是进行插入和删除运算不会造成大量元素的移动。,一个非空的数据结构若满足下面的两个条件,则这种数据结构即为线性结构。有且仅有一个根结点;除第一个结点外,每一个结点最多有一个直接前驱结点;除最后一个结点外,每一个结点最多有一个直接后继结点。,第32页,2.栈和队列,栈和队列都是特殊的线性表。栈(Stack)及其基本运算 队列(Queue)及其基本运算 循环队列及其基本运算,第33页,栈(Stack)是一种特殊的线性表。其特点是插入和删除运
14、算都只能在线性表的一端进行。栈是按照“先进后出”或“后进先出”的原则组织数据的线性表。栈的物理存储结构可以用顺序结构,也可以用链表结构。下面讨论顺序存储结构中栈元素的插入和删除运算。顺序栈的进栈和出栈运算,在顺序栈中插入和删除运算不需要移动表中其他数据元素。,第34页,队列(Queue)是一种特殊的线性表。其特点是所有的插入都在表的一端进行,所有的删除运算都在表的另一端进行。队列是按照“先进先出”或“后进后出”的原则组织数据的线性表。队列的物理存储结构可以用顺序结构,也可以用链式结构。顺序队列的运算,第35页,循环队列 把队列的存储空间在逻辑上看作一个环,当R指向存储空间的末端后,就把它重新置
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大学计算机 第四

链接地址:https://www.31ppt.com/p-5009413.html