1一、涉及面广,但难度小一、涉及面广,但难度小公共基础知识考题特点及复习建议公共基础知识考题特点及复习建议计算机等级二级理论考试中有关公共知识部分的题计算机等级二级理论考试中有关公共知识部分的题 目共有目共有15 15道,涉及道,涉及算法及数据结构、、程序设计基础、、软件工程基础和和数据库设计基础等四门课程,尽管知识面大等四门课程,尽管知识面大,但是从整体上分析,考核的内容难度不大,考点也相,但是从整体上分析,考核的内容难度不大,考点也相 对集中些对集中些2二、考核重点为基本概念、基本方法二、考核重点为基本概念、基本方法和基本运算和基本运算计算机等级二级理论考试中涉及的题目计算机等级二级理论考试中涉及的题目都是都是基本概念基本概念、、基本方法基本方法和和基本运算基本运算,考核,考核以概念和认识性内容为主,理解性、应用性以概念和认识性内容为主,理解性、应用性内容偏少内容偏少 3三、考核重点是数据结构和算法三、考核重点是数据结构和算法以下是对以往二级理论考试的大概统计:以下是对以往二级理论考试的大概统计: vv 算法及数据结构算法及数据结构:: 34% 34% vv 程序设计基础程序设计基础::9%9%vv 软件工程基础软件工程基础::25%25%vv 数据库设计基础数据库设计基础::29%29%4四、几点复习及应试建议四、几点复习及应试建议vv 复习的关键是复习的关键是考生必须准确判断和掌握常见考点考生必须准确判断和掌握常见考点vv 公共基础知识部分的知识点多、杂,考生在学习过程中应理公共基础知识部分的知识点多、杂,考生在学习过程中应理 清其中的清其中的脉络关系(即框架提纲)脉络关系(即框架提纲),才能有效地组织和记住,才能有效地组织和记住各知识点各知识点vv考生一开始学习时考生一开始学习时不要太追求灵活掌握该部分的内容不要太追求灵活掌握该部分的内容,经历,经历一个一个“ “先熟记先熟记, ,再练习、熟能生巧再练习、熟能生巧” ”的过程,这是多数考生常用的的过程,这是多数考生常用的一个方法。
一个方法vv多做习题,多做习题,强化知识点学习强化知识点学习51 1、了解算法的基本概念和一些、了解算法的基本概念和一些常用的算法常用的算法,学会计算算法的,学会计算算法的时间复杂度时间复杂度;;2 2、掌握数据结构的基本概念,并了解数据的、掌握数据结构的基本概念,并了解数据的逻辑结构逻辑结构和和存储结构存储结构,学会利,学会利用图形的方式表示数据结构用图形的方式表示数据结构 ;;学学习习目目标标与与要要求求ØØ 算法与数据结构:算法与数据结构:3 3、了解线性表的基本概念,并掌握线性表的顺序存储结构以及顺序存储的、了解线性表的基本概念,并掌握线性表的顺序存储结构以及顺序存储的线性表的基本运算;线性表的基本运算; 4 4、了解栈和队列的基本概念,并掌握它们的基本运算;、了解栈和队列的基本概念,并掌握它们的基本运算; 5 5、了解线性链表的基本概念,并掌握线性链表的基本运算,同时,了解循、了解线性链表的基本概念,并掌握线性链表的基本运算,同时,了解循环链表的基本概念和基本操作;环链表的基本概念和基本操作; 6 6、理解树的概念,尤其是二叉树的基本概念和相关性质,掌握二叉树的存、理解树的概念,尤其是二叉树的基本概念和相关性质,掌握二叉树的存储结构和遍历技术;储结构和遍历技术; 7 7、掌握查找技术,学会利用顺序查找和二分查找在数列中查找指定的数据;、掌握查找技术,学会利用顺序查找和二分查找在数列中查找指定的数据; 8 8、学会利用相关的排序技术实现无序数列的排序操作。
学会利用相关的排序技术实现无序数列的排序操作 61 1、了解软件工程的基本概念;、了解软件工程的基本概念;2 2、了解软件工程过程与软件的、了解软件工程过程与软件的生命周期生命周期,以及软件工程的,以及软件工程的目标和原则目标和原则;;学学习习目目标标与与要要求求ØØ 软件工程软件工程::3 3、了解利用结构化分析法进行软件工程中的需求分析的方法,并了解、了解利用结构化分析法进行软件工程中的需求分析的方法,并了解需需求分析的方法和需要求分析的方法和需要完成的任务;完成的任务; 4 4、了解数据流图的使用方法;、了解数据流图的使用方法; 5 5、了解如何利用结构化设计方法进行软件设计,并了解软件设计的一些、了解如何利用结构化设计方法进行软件设计,并了解软件设计的一些常用工具;常用工具; 6 6、了解软件测试的目的和方法,以及软件测试的准则,了解常用的软件、了解软件测试的目的和方法,以及软件测试的准则,了解常用的软件测试方法的区别和各自的功能与特点;测试方法的区别和各自的功能与特点; 7 7、了解程序调试的方法和原则、了解程序调试的方法和原则 71 1、了解程序设计的方法,以及程序设计风格确立的一些因素,掌握程序、了解程序设计的方法,以及程序设计风格确立的一些因素,掌握程序设计的基本规则;设计的基本规则; 2 2、了解结构化程序设计的基本原则,掌握结构化程序设计的基本结构与特点、了解结构化程序设计的基本原则,掌握结构化程序设计的基本结构与特点; ;学学习习目目标标与与要要求求ØØ 程序设计基础程序设计基础::3 3、了解面向对象的程序设计方法,并理解面向对象方法的一些基本概念。
了解面向对象的程序设计方法,并理解面向对象方法的一些基本概念 ØØ 数据库系统数据库系统::1 1、了解数据库系统的基本概念,以及数据库系统的发展;、了解数据库系统的基本概念,以及数据库系统的发展; 2 2、了解数据模型的基本概念,并对、了解数据模型的基本概念,并对E-RE-R模型、层次模型、网状模型和关系模型模型、层次模型、网状模型和关系模型进行了解,并掌握关系模型的数据结构、关系的操作和数据约束等知识;进行了解,并掌握关系模型的数据结构、关系的操作和数据约束等知识; 3 3、了解关系模型的基本操作,掌握关系模型的基本运算及扩充运算;、了解关系模型的基本操作,掌握关系模型的基本运算及扩充运算; 4 4、了解数据库的设计与管理,掌握数据库设计的几个阶段的方法和特点了解数据库的设计与管理,掌握数据库设计的几个阶段的方法和特点 8算算法法与与数数据据结结构构一、算法(一、算法( algorithm))1、算法的基本概念(汉诺塔的例子)算法是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一条指令表示一个或多个操作它是一组严谨地定义运算顺序的规则,并且每一个规则都是有效的,且是明确的,此顺序将在有限的次数下终止。
算法具有可行性、确定性、有穷性、输入和输出(拥有足够的情报)等5个重要特性汉 诺 塔① 1->B② 2->C③ 1->C④ 3->B⑤ 1->A⑥ 2->B⑦ 1->BABC1 2 3算法:算法:对特定问题求解步骤的一种描述算法的描述方法:自然语言、专用工具或某种计算机语言返回10学学习习目目标标与与要要求求2、算法的基本要素(1) 对数据对象的运算和操作:算术运算、逻辑运算、关系运算、数据传输Ø 算法中各操作之间的执行顺序;Ø 描述算法的工具通常有传统流程图、N-S结构化流程图、算法描述语言等;Ø 一个算法一般可以用顺序、选择、循环三种基本结构组合而成2) 算法的控制结构: 11算算法法与与数数据据结结构构3、算法设计的基本方法及例子1. 列举法(列出所有可能,再逐一检验,得到符合条件的结果)百钱买百鸡2. 归纳法(通过特殊情况,经过分析,最后找出一般关系)3. 递推(从已知的初始条件出发,逐步推算,得到结果)猴子分食桃子 4. 递归(将问题逐层分解,最后归结为一些最简单的问题)求年龄问题5. 减半递推(重复将问题的规模减半,而问题性质不变)二分法求方程实根6. 回溯法(以最优方式向前试探,如果失败,则后退再选)八皇后问题12算算法法与与数数据据结结构构3 3、算法的复杂度、算法的复杂度(1)时间复杂度v 依据算法编制的程序在计算机上运行时所消耗的时间来度量。
通常有事后统计法和事前分析估算法v 一个算法是由控制结构(顺序、分支和循环)和原操作构成的,算法时间取决于两者的综合效果v 算法中基本操作重复执行次数n和算法执行时间同步增长,称作算法的时间复杂度13算算法法与与数数据据结结构构(2)空间复杂度v 一般是指执行这个算法所需要的内存空间v 一个算法所占用的存储空间包括算法程序所占的空间、输入的初始数据所占的存储空间以及某种数据结构所需要的附加存储空间v 一个上机执行的程序除了需要存储空间来寄存本身所用指令、常数、变量和输入数据外,也需要一些对数据进行操作的工作单元和存储一些为实现计算所需信息的辅助空间14算算法法与与数数据据结结构构3、例题讲解v 算法的时间复杂度是指( C )A、执行算法程序所需要的时间 B、算法程序的长度C、算法执行过程中所需要的基本运算次数 D、算法程序中的指令条数 v 算法的基本特征是可行性、确定性、 【1】和拥有足够的情报 【答案】:有穷性 v 算法的空间复杂度是指( D ) A) 算法程序的长度 B) 算法程序中的指令条数C) 算法程序所占的存储空间 D) 执行过程中所需要的存储空间√√15算算法法与与数数据据结结构构v 在计算机中,算法是指( B )A) 加工方法 B) 解题方案的准确而完整的描述 C) 排序方法 D) 查询方法v 算法分析的目的是( D )A) 找出数据结构的合理性B) 找出算法中输入和输出之间的关系C) 分析算法的易懂性和可靠性D) 分析算法的效率以求改进v 算法的工作量大小和实现算法所需的存储单元多少分别称为算法的 【 1 】 。
答案】:时间复杂度和空间复杂度√√16算算法法与与数数据据结结构构二、数据结构(二、数据结构( Data Structure))1、数据结构研究的主要内容v 当今计算机应用的特点:1、所处理的数据量大且具有一定的关系;2、对其操作不再是单纯的数值计算,而更多地是需 要对其进行组织、管理和检索对数据的讨论不单单是数据本身,还要包括数据与 数据之间的关系下面各例表示不同的数据采用不同的数据结构来组织17特点:Ø 每个学生的信息占据一行,所有学生的信息按学号顺序依次排列构成一张表格;Ø 表中每个学生的信息依据学号的大小存在着一种前后关系,这就是我们所说的线性结构;Ø 对它的操作通常是插入某个学生的信息,删除某个学生的信息,更新某个学生的信息,按条件检索某个学生的信息等等v 应用举例1——学籍档案管理 假设一个学籍档案管理系统应包含如下表所示的学生信息18v 应用举例2——家庭血缘关系图表示家庭成员的辈分关系,使用下图1-1所示的形式描述图图 1-1 1-1 家庭血缘关系图 特点:Ø 在求解过程中,所处理的数据之间具有层次关系,这是我们所说的树形结构;Ø 对它的操作有:建立树形结构,输出最结点内容等等。
v 应用举例3——制定教学计划在制定教学计划时,需要考虑各门课程的开设顺序有些课 程需要先导课程,有些课程则不需要,而有些课程又是其他课程 的先导课程比如,计算机专业课程的开设情况如下表所示:19这种数据可以用下面的图来表示:v 课程先后关系的图形描形式:c1c9c4c2c12c10c11c5c3c6c7c8图 1-2 计算机专业必修课程开设先后关系201、数据的逻辑结构 2、数据的存储结构 3、数据的运算:检索、排序、插入、删除、修改等 A.线性结构B.非线性结构A.顺序存储B.链式存储 线性表栈队树形结构图形结构数据结构的三个方面(亦称物理结构)数据结构的主要 研究问题:212、基本概念和术语数据结构是一门研究数据数据组织、存储和运算的一般方法的学科例:整数(1,2)、实数(1.1,1.2) 字符串(Bei。