计算机2级公共基础知识

上传人:kms****20 文档编号:53668853 上传时间:2018-09-03 格式:PPT 页数:134 大小:1.08MB
返回 下载 相关 举报
计算机2级公共基础知识_第1页
第1页 / 共134页
计算机2级公共基础知识_第2页
第2页 / 共134页
计算机2级公共基础知识_第3页
第3页 / 共134页
计算机2级公共基础知识_第4页
第4页 / 共134页
计算机2级公共基础知识_第5页
第5页 / 共134页
点击查看更多>>
资源描述

《计算机2级公共基础知识》由会员分享,可在线阅读,更多相关《计算机2级公共基础知识(134页珍藏版)》请在金锄头文库上搜索。

1、计算机等级考试 公共基础知识,数计学院卫春芳,第2页,计算机二级考试公共基础知识大纲,数据结构与算法程序设计基础软件工程基础数据库设计基础,这四个方面在试卷中出现的情况是:选择题10个(20分),填空题5个(10分),总分值占到了试卷卷面分的30,是一个不小的比例。,第3页,计算机二级考试公共基础知识试卷分析,第4页,算法 算法的基本概念2.算法复杂度的概念和意义,一、基本数据结构与算法,数据结构 数据结构的概念 线性表 栈和队列 树与二叉树 查找技术 排序技术,对于等级考试,这个部分的考核重点主要在算法和数据结构的基本概念、二叉树(遍历、结点),还有排序和查找考试中也经常会涉及到。,第5页,

2、算法的定义 对解题方案准确而完整的描述称为算法。,算法是程序设计的核心, 算法的基本概念,算法是在有限步骤内求解某一问题所使用的一组定义明确的规则。通俗点说,就是计算机解题的过程(计算的方法)。在这个过程中,无论是形成解题思路(推理实现的算法)还是编写程序(操作实现的算法),都是在实施某种算法。,例: n个数从大到小进行排序。有多种排序方法 ,常用的有冒泡排序、选择排序等。,第6页,2 . 算法的基本特征 一个算法应该具有以下五个重要的特征:,有穷性确定性输入输出可行性,第7页,算法与计算机程序算法_是一组逻辑步骤程序用计算机语言描述的算法,3. 算法的表示,INPUT r S=3.14 *

3、r*r PTINT S,问题: 输入园的半径,计算园的面积,一个算法的表示需要使用一些语言形式。 传统的算法-图形法,如“流程图”和N-S图 目前常用的方法-使用伪码描述算法。,第8页,冒泡排序的方法: 1.扫描整个线性表,逐次对相邻的两个元素进行比较,若为逆序,则交换;第一趟扫描的结果使最大的元素排到表的最后 ; 2.除最后一个元素,对剩余的元素重复上述过程,将次大的数排到表的倒数第二个位置; 3.重复上述过程; 对于长度为n的线性表,冒泡排序需要对表扫描n-1遍。,算法举例:n个数排序,第9页,4. 算法的两个基本要素:,基本运算和操作算术运算关系运算逻辑运算数据传输,控制结构 顺序选择循

4、环,一是对数据对象的运算和操作; 二是算法的控制结构。,算法基本设计方法:列举法、归纳法、递推、递归、减斗递推技术、回溯法,第10页,5. 算法评价评价一个算法优劣的主要标准是算法的执行效率和存储需求:时间复杂度:执行这个算法所需要的计算工作量 一般可以用算法在执行过程中所需基本运算的执行次数来度量计算工作量空间复杂度:执行这个算法所需要的内存空间算法在执行过程中临时占用的存储空间时间复杂度它大致等于计算机执行一种简单操作所需的平均时间与算法中进行简单操作的次数的乘积。 一个算法在计算机存储器上所占用的存储空间,包括存储算法本身所占用的存储空间、算法中的输入输出数据所占用的存储空间和算法在运行

5、过程中临时占用的存储空间这三个部分,第11页,一、算法,对解题方案准确而完整的描述称为算法。算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。 算法评价:时间复杂度:执行这个算法所需要的计算工作量空间复杂度:执行这个算法所需要的内存空间,第12页,(1) 在计算机中,算法是指_。 A. 查询方法 B. 加工方法 C. 解题方案的准确而完整的描述 D. 排序方法 (2)下列叙述中正确的是 (07年4月) A)算法的效率只与问题的规模有关,而与数据的存储结构无关 B)算法的时间复杂度是指执行算法所需要的计算工作量 C)数据的逻辑结构与存储结构是一一对应的 D)算法的时间复杂度与空间

6、复杂度一定相关 (3)算法的有穷性是指 (08年4月) A)算法程序的运行时间是有限的 B)算法程序所处理的数据量是有限的 C)算法程序的长度是有限的 D)算法只能被有限的用户使用,(c),(B),算法习题:,(A),第13页,(4) 算法的时问复杂度是指 (2010年3月)A)算法的执行时间B)算法所处理的数据量C)算法程序中的语句或指令条数D)算法在执行过程中所需要的基本运算次数 (5) 算法的空间复杂度是指 (09年9月) A)算法在执行过程中所需要的计算机存储空间 B)算法所处理的数据量 C)算法程序中的语句或指令条数 D)算法在执行过程中所需要的临时工作单元数 (6) 下列叙述中正确

7、的是 (06年9月)A)一个算法的空间复杂度大,则其时间复杂度也必定大B)一个算法的空间复杂度大,则其时间复杂度必定小C)一个算法的时间复杂度大,则其空间复杂度必定小D)上述三种说法都不对,(D) 计算工作量,(A),(D),第14页,计算机在进行数据处理时,实际需要处理的数据元素一般有很多,而这些大量的数据元素都需要存放在计算机中,因此,大量的数据元素在计算机中如何组织,以便提高数据处理的效率,并且节省计算机的存储空间,这是进行数据处理的关键问题。,二、数据结构,程序=算法+数据结构,数据结构是指相互有关联的数据元素的集合。一般来说,人们不会同时处理特征完全不同且互相之间没有任何关系的各类数

8、据元素,对于具有不同特征的数据元素总是分别进行处理。 一般情况下,在具有相同特征的数据元素集合中,各个数据元素之间存在有某种关系(即联系),这种关系反映了该集合中的数据元素所固有的一种结构。,第15页,二. 数据结构,数据结构是指相互有关联的数据元素的集合。 数据结构是研究数据和数据之间关系的一门学科,它包括三个方面。 (1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构; (2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构; (3)对各种数据结构进行的运算。,第16页,1. 逻辑结构 数据的逻辑结构是指反映数据元素之间逻辑关系的数据结构。数据的逻辑结构包含

9、: (1)表示数据元素的信息; (2)表示各数据元素之间的前后件关系。 例: 1. 一年四季的数据结构B=(D,R)D=春,夏,秋,冬R=(春,夏) ,(夏,秋),(秋,冬) 2. 家庭成员的数据结构B=(D,R)D=父亲,儿子,女儿R=(父亲,儿子) ,(父亲,女儿),春,夏,秋,冬,数据结构的图形表示,父亲,儿子,女儿,第17页,常见的逻辑结构有: 线性结构、树形结构和图形结构。, 线性结构 结构中的每个元素之间存在一个对一个的关系; 树形结构 结构中的每个元素之间存在一个对多个的关系; 图形结构或网状结构 结构中的每个元素之间存在多个对多个的关系。 其中,树形结构和图形结构统称为非线形结

10、构。数据的逻辑结构可以用二元关系表示,也可以直观地用图形来表示。,第18页,2. 存储结构(物理结构)计算机在实际进行数据处理时,被处理的各数据元素总是被存放在计算机的存储空间中,并且,各数据元素在计算机存储空间中的位置与它们的逻辑关系不一定是相同的,而且一般也不可能相同。 如:一年四季 家庭成员 计算机存储空间怎样存放?存储结构指数据结构在计算机存储空间中的具体实现。 常见的存储结构有:顺序存储结构链式存储结构 索引存储结构,只抽象地反映数据元素之间的关系的结构,而不管其存储方式的数据结构称为逻辑结构。一种数据结构可以根据需要表示成一种或多种存储结构。,第19页,3. 数据的运算检索插入删除

11、更新排序,通常,一个数据结构中的元素结点可能是动态变化的。根据需要或在处理过程中,可以在一个数据结构中增加一个新结点(插入运算),也可以删除某个结点(删除运算),除此之外,对数据结构的运算还有查找、分类、合并、分解、复制和修改。在对数据结构的处理过程中,不仅数据结构中结点的个数在动态变化,而且,各数据元素之间的关系也有可能在动态地变化。如:无序表变有序表,数据结构是研究数据和数据之间关系的一门学科,研究以下三方面内容:数据的逻辑结构数据的存储结构数据的运算,第20|92页,常见的数据结构,1.线性表2.栈和队列3.树,第21页, 线性表(Linear List),线性表是由n(n0)个数据元素

12、a1,a2,ai,an组成的一个有限序列。,简单的线性表,复杂的线性表,记录1 02011001 张三 男 ,记录2 02011003 李四 女 ,记录3,记录4,第22页,线性表的顺序存储结构,顺序存储结构把逻辑上相邻的数据元素存储在物理上相邻的存储单元里,顺序存储结构只存储结点的值,不存储结点间的关系,结点间的关系由存储单元的邻接关系来体现。,存储地址,2000,2004,2000+4*(i-1),2000+4*(n-1),占4个字节,Loa(ai)=Loa(a1)+L*(i-1),第i个数的地址,第一个数的地址,L为该类型数所占的字节,线性表的存储结构,线性表的存储结构有两种:顺序存储结

13、构链式存储结构,第23页,顺序表的插入运算顺序表的删除运算,顺序表的插入和删除运算,在线性表顺序存储情况下,要插入或删除一个元素,都会由于数据元素的移动而消耗大量的处理时间,所以这种存储方式对于小线性表或其中数据元素不经常变动的线性表是合适的。,线性表的顺序存储结构称为顺序表。,第24页,线性表的链式存储结构,线性表的链式存储结构称为线性链表。链式存储结构不要求逻辑上相邻的数据元素物理位置也相邻,而且各数据元素的存储顺序也是任意的。各数据元素的先后关系是由各结点的指针域指示。链式存储结构的每一个存储结点不仅存储结点的值,而且存储结点之间的关系:,第25页,应用举例线性链表的存储结构,设线性表为

14、(a1,a2,a3,a4,a5),HEAD,3,线性链表的物理状态,线性表的顺序存储结构,注意:1 2 3 此类编号不代表所在的地址单元的地址编码,第26页,单链表的插入运算单链表的删除运算,线性链表的插入和删除运算,采用链式存储结构,存储空间开销较大,但是进行插入和删除运算不会造成大量元素的移动。,循环链表是加一种形式的链式存储结构。它的特点是表中最后一个结点的指针域指向头结点。,第27页,双向链表的存储结构,提问:单向链表的缺点是什么? 提示:如何寻找结点的直接前趋。 双向链表可以克服单链表的单向性的缺点。 在双向链表的结点中有两个指针域,其一指向直接后继,另一指向直接前趋。,HEAD,3

15、,1,5,10,双向循环链表,第28页,线性表的存储结构有两种,顺序存储结构,注意:数据元素在计算机存储空间中的位置关系与它们的逻辑关系不一定是相同的。一个逻辑数据结构可以有多种存储结构,且不同的存储结构影响数据处理的效率 。,HEAD,3,链式存储结构,线性表 :a1,a2,a3,a4,a5 ,第29页,2. 栈和队列,栈和队列都是特殊的线性表。 栈(Stack)及其基本运算队列(Queue)及其基本运算循环队列及其基本运算,第30页,栈(Stack)是一种特殊的线性表。其特点是插入和删除运算都只能在线性表的一端进行。栈是按照“先进后出”或“后进先出”的原则组织数据的线性表。栈的物理存储结构可以用顺序结构,也可以用链表结构。下面讨论顺序存储结构中栈元素的插入和删除运算。顺序栈的进栈和出栈运算 栈的基本运算有三种:入栈、退栈和读栈顶元素,在顺序栈中插入和删除运算不需要移动表中其他数据元素。,第31页,队列(Queue)是一种特殊的线性表。其特点是所有的插入都在表的一端进行,所有的删除运算都在表的另一端进行。队列是按照“先进先出”或“后进后出”的原则组织数据的线性表。队列的物理存储结构可以用顺序结构,也可以用链式结构。顺序队列的运算,栈有三种操作: 入栈出栈读栈顶元素 队列有三种操作:入队出队读队首元素,例:有入栈元素序列:ABCD,求可能的出栈序列如是队列又是什么情况呢?,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号