计算机二级公共基础知识讲义
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
公共基础在所有的二级考试科目中都占30分。在试卷当中,前十道选择题和前五道填空题均是公共基础内容。
公共基础讲义
数据结构与算法(约占10分)
程序设计基础(约占4分)
软件工程基础(约占8分)
数据库设计基础(约占8分)
第一章数据结构基础
本章内容提要
●算法:算法的基本概念、算法复杂度
●数据结构的基本概念:什么是数据结构、数据结构的图形表示、线性结构与非线
性结构
●线性表及其顺序存储结构:线性表的基本概念、顺序存储结构、插入运算、删除
运算
●栈和队列:栈及其基本运算、队列及其基本运算
●线性链表:基本概念、基本运算、循环链表及其基本运算
●树与二叉树:树的基本概念、二叉树及其基本性质、二叉树的存储结构、二叉树
的遍历
●查找技术:顺序查找、二分法查找
●排序技术:交换类排序法、插入类排序法、选择类排序法
算法
1.算法的基本概念:算法是解题方案的准确而完整的描述。
算法规定了解决某类问题所需的操作语句以及执行顺序,使其能够通过有限的指令语句,在一定时间内解决问题。
算法是一个操作序列,有限长度,目的是解决某类问题。
注意:(1)算法不等同于程序:因为程序的编制不可能由于算法的设计;
(2)算法也不等同于数学上的计算方法:因为很多数学计算公式也许无法在计算机上实现。
2.算法的基本特征(算法具有动态性):可行性、确定性、有穷性、拥有足够的情报(指
的是有输入有输出)
在设计一个算法时,必须要考虑算法的执行过程保证结果的可靠性。
3.算法的基本要素:
第一要素:对数据对象的运算和操作
1)算术运算 + - * /
2)逻辑运算 NOT AND OR
3)关系运算 > < <>
4)数据传输赋值,输入与输出
第二要素:算法的控制结构(决定了算法中各操作的执行顺序)
顺序、选择、循环
4.算法设计的基本方法(计算机解题的过程实际上是在实施某种算法)
1)列举法(列举所有解决方案)
根据提出的问题,列举所有可能的情况,并用问题中给定的条件检验哪些是需要的,哪些是不需要的。
2)归纳法(特殊 -> 一般)适合于列举量为无限的情况
通过列举少量的特殊情况,经过分析,最后找出一般的关系。
3)递推法(已知 -> 未知)
从已知的初始条件出发,逐次推出所要求的各中间结果和最后结果。
4)递归法(逐层分解)
将一个复杂的问题归结为若干个较简单的问题,然后将这些较简单的每一个问题再归结为更简单的问题……
5)减半递推法(对问题分而治之)
“减半”是指将问题的规模减半,而问题的性质不变。所谓“递推”是指重复“减半”的过程。
6)回溯法
复杂应用,找出一个解决问题的线索,然后沿着这个线索逐步多次“探、试”。
5.算法的复杂度(一个算法所要付出的代价)
算法的复杂度可分为:时间复杂度和空间复杂度
算法的复杂度是衡量算法好坏的量度。
1)时间复杂度
概念:指执行算法所需要的计算工作量(即算法的运算次数)。
含义:算法执行过程中所需要的基本运算次数。
影响计算工作量的主要因素:
第一,基本运算次数第二,问题规模
下面的方法不能用来度量算法的时间复杂度:
a)算法程序的长度或算法程序汇总语句(指令)条数
b)算法程序所执行的语句条数
c)算法程序执行的具体时间
时间复杂度的具体度量方法:
在同一问题规模下,如果算法执行所需的基本运算次数取决于某一特定输入时,可以用以下两种方法来分析算法的工作量:
a)平均性态分析
b)最坏情况复杂性分析
2)空间复杂度
概念:空间复杂度是指执行该算法所需要的存储空间(内存空间)
一个算法所用的内存空间包括:算法程序所占的存储空间;输入的初始数据所占的存储空间;算法执行过程中的额外空间。
注意:
a)如果额外空间量相对于问题规模来说是常数,即额外空间量不随问题规模的变化而变
化,则称该算法是原地工作的。
b)为了降低算法的空间复杂度,主要应减少需要处理的数据所占的存储空间以及额外空
间,通常采用压缩存储技术。
算法作业:(补完提纲)
考题练习:
1.下列叙述正确的是:
A.算法就是程序
B.算法强调的是利用技巧提高程序执行效率
C.设计算法时只需考虑结果的可靠性
D.以上三种说法都不对
2.下面叙述正确的是
A.算法的执行效率与数据的存储结构无关
B.算法的空间复杂度是指算法程序中指令(或语句)的条数
C.算法的有穷性是指算法必须能在执行有限个步骤之后终止
D.以上三种描述都不对
3.下列叙述中正确的是:
A.一个算法的空间复杂度大,则其时间复杂度也必定大
B.一个算法的空间复杂度大,则其时间复杂度必定小
C.一个算法的时间复杂度大,则其空间复杂度必定小
D.上述三种说法都不对
4.算法的空间复杂度是指
A.算法程序中变量的个数
B.算法程序中的指令条数
C.算法程序中各控制变量所占的额外空间
D.算法执行过程中所需要的存储空间
历年真题
选择题:0609(7)、0704(1)、0804 (5)、0909(4)、1003(2)
数据结构
目的:提高数据处理的效率(一是提高数据处理的速度;二是尽量节省在数据处理过程中所占用的计算机存储空间)
基本概念:
数据:在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。
数据元素:数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。
数据结构:是相互之间存在一种或多种特定关系的数据元素的集合。
数据结构的内容: