计算机奥赛基础知识Word文档下载推荐.docx
《计算机奥赛基础知识Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《计算机奥赛基础知识Word文档下载推荐.docx(24页珍藏版)》请在冰豆网上搜索。
2、十进制数转换成R进制数
将整数与小数两部分分别转换。
整数部分转换方法:
除R倒取余。
小数部分转换方法:
乘R正取整法。
例:
(100.345)D≈(1100100.01011)B
八进制与二进制、十六进制与二进制的关系
八进制
对应二进制
十六进制
000
0000
8
1000
1
001
0001
9
1001
2
010
0010
A
1010
3
011
0011
1011
4
100
0100
C
1100
5
101
0101
1101
6
110
0110
E
1110
7
111
0111
F
1111
七、原码、反码和补码
1、正数的反码、补码与其原码相同。
2、负数的反码:
除符号位外,各位依次取反。
负数的补码:
为其反码加1。
八、计算机系统
一台完整的计算机系统是由硬件系统和软件系统两部分组成的。
1、计算机的硬件系统:
其基本结构属于冯·
诺依曼型计算机,它的主要特点:
1)计算机由五个基本部分组成:
运算器、控制器、存储器、输入设备和输出设备。
2)程序和数据以同等地位存放在存储器中,并要按地址寻访。
3)程序和数据以二进制表示。
2、CPU:
称为中央处理单元,又称微处理器。
3、存储器
存储器的主要功能是存放程序和数据。
存储器通常分为内存储器和外存储器。
内存的存取速度直接影响计算机的运算速度。
内部存储器按其功能特征分为三类:
1)随机存储器RAM(一旦关机断电,RAM中的信息将全部消失。
)
2)只读存储器ROM
3)高速缓冲存储器Cache
4、计算机软件系统
软件分为系统软件和应用软件两大类。
九、计算机病毒
计算机病毒是一组人为设计的程序。
这种特殊的程序隐藏在计算机中,在系统运行过程中能把自身准确复制或有修改地复制到其他程序体内,从而给计算机系统造成一定的损害甚至严重破坏。
计算机病毒的特性:
1)传染性2)潜伏性3)隐蔽性4)破坏性5)寄生性
十、计算机网络
1、计算机网络的类型
1)广域网(WAN)和局域网(LAN)
2)专用网和公共网
2、计算机网络协议
1)TCP/IP传输控制协议和网际协议
规范了网络上所有通信设备之间的数据传输格式及传送方法,以保证数据安全可靠地到达指定的目的地。
2)FTP文件传送协议
3)TELNET远程登录协议
4)SMTP简单邮件传送协议
5)PPP点-点协议
6)HTTP超文本传输协议
3、WWW:
全称是WorldWideWeb,有时也简称Web或3W。
4、URL统一资源定位标识
任何一个信息文档、图形图像、视频或音频都被看作是资源。
为了引用资源,在WWW上,每一信息资源都有统一的且在网上唯一的地址,该地址就叫URL。
第二章数据结构与算法
1、算法:
问题处理方案的正确而完整的描述。
2、算法的4个特性:
确定性,可行性,有穷性,拥有足够的情报。
3、算法的复杂度包括:
时间复杂度和空间复杂度。
4、算法的时间复杂度是指:
算法执行过程中所需要的基本运算次数。
5、算法的空间复杂度是指:
算法执行过程中所需要的存储空间。
6、一个算法通常由两种基本要素组成:
一是对数据对象的运算和操作,二是算法的控制结构。
7、算法的3种基本控制结构:
顺序、选择、循环。
8、算法设计的基本方法:
列举法、归纳法、递推、递归和减半递推技术。
9、数据的存储结构:
是指数据的逻辑结构在计算机存储空间中的存放形式。
10、数据处理:
是指对数据集合中的各元素以各种方式进行运算。
11、数据结构:
是指相互有关联的数据元素的集合。
12、数据元素之间的任何关系都可以用前驱和后继关系来描述。
13、常用的存储结构有顺序、链接、索引等存储结构。
14、采用不同的存储结构,数据处理的效率不同。
15、数据结构分为逻辑结构和存储结构,循环队列属于存储结构。
16、在数据结构中,没有前驱的结点称为根结点;
没有后继的结点称为叶子结点。
17、数据结构按逻辑关系的不同,通常可分为线性结构和非线性结构两类。
18、在稍微复杂的线性表中,一个数据元素可以由若干个数据项组成,在这种情况下,常把数据元素称为记录,含有大量记录的线性表就称作文件。
19、在计算机中存放线性表,一种最简单的方法是顺序存储。
20、在程序设计语言中,通常定义一个一维数组来表示线性表的顺序存储空间。
21、栈:
栈是一种只允许在一端进行插入与删除的线性表。
22、栈的特点:
1)先进后出(或后进先出)2)栈具有记忆作用3)对栈的操作中,不需要改变栈底指针
23、栈的基本运算有三种:
入栈、退栈与读栈顶元素。
24、队列:
队列是一种允许在一端进行插入、而在另一端进行删除的线性表。
允许插入的一端称为队尾,允许删除的一端称为队头。
25、队列的特点:
先进先出(或后进后出)
26、循环队列主要有两种基本运算:
入队运算与退队运算。
每进行一次入队运算,队尾指针就进一。
27、递归算法一般需要利用栈实现。
28、对长度为n的线性表进行插入一个新元素或删除一个元素时,在最坏情况下所需要的比较次数为n。
在平均情况下,需要比较次数为n/2。
29、线性链表属于链式存储结构,在链式存储结构中,存储空间可以不连续,各元素的存储顺序是任意的。
30、在链式存储方式中,要求每个结点由两部分组成:
一部分用于存放数据元素值,称为数据域;
另一部分用于存放指针,称为指针域。
31、在线性单链表中,每一个结点只有一个指针域,由这个指针只能找到后继结点,但不能找到前驱结点。
32、与单向链表相比,双向链表更容易访问相邻结点。
33、在实际应用中,带链的栈可以用来收集计算机存储空间中所有空闲的存储结点,这种带链的栈称为可利用栈。
34、在线性链表中删除一个元素,只需要改变被删除元素所在结点的前一个结点的指针域即可。
35、在循环链表中,只要指出表中任何一个结点的位置,就可以从它出发访问到表中其他所有的结点。
在对循环链表进行插入和删除的过程中,实现了空表与非空表的运算统一。
36、二叉树的遍历:
是指不重复地访问二叉树中的所有结点。
37、二叉树的遍历有三种:
前序遍历、中序遍历、后序遍历。
1)前序遍历:
访问根结点;
前序遍历左子树;
前序遍历右子树。
2)中序遍历:
中序遍历左子树;
访问根结点;
中序遍历右子树。
3)后序遍历:
后序遍历左子树;
后序遍历右子树;
访问根结点。
38、满二叉树:
除最后一层外,每一层上的所有结点都有两个子结点。
39、二叉树的性质:
1)在二叉树的第k层上,最多有2k-1个结点。
2)深度为m的二叉树,最多有2m-1个结点。
3)在任意一棵二叉树中,度为0的结点(即叶子结点)总是比度为2的结点多一个。
40、完全二叉树:
除最后一层外,每一层上的所有结点都有两个子结点,在最后一层上缺少右边的若干结点。
41、对于长度为n的有序线性表,在最坏情况下,二分法查找需要比较log2n次,而顺序查找需要比较n次。
42、二分法查找只适用于顺序存储的有序线性表。
43、顺序查找一般是指在线性表中查找指定的元素。
44、交换类排序:
快速排序法和冒泡排序法。
插入类排序:
简单插入排序法和希尔排序法。
选择类排序:
简单选择排序法和堆排序法。
45、对于长度为n的线性表,在最坏情况下,各种排序法的比较次数:
冒泡排序:
n(n-1)/2
快速排序:
简单插入排序:
简单选择排序:
希尔排序:
n1.5
堆排序:
nlog2n
46、在最坏情况下,堆排序的时间复杂度最小。
47、快速排序法可以实现通过一次交换而消除多个逆序。
48、快速排序法的关键是对线性表进行分割。
第三章程序设计基础
1、程序设计风格:
清晰第一,效率第二。
2、源程序文档化时程序应加注释。
注释一般分为序言性注释和功能性注释。
3、在编写程序时,需要注意数据说明的风格,以便使程序中的数据说明更易于理解和维护。
4、程序应该简单易懂,语句构造应该简单直接,不应该为提高效率而把语句复杂化。
5、当程序设计语言对输入格式有严格要求时,应保持输入格式与输入语句的一致性。
6、结构化程序设计的主要特点是:
1)程序易于理解、使用和维护。
2)提高了编程工作的效率,降低了软件开发成本。
3)每个控制结构只允许有一个入口和一个出口。
7、结构化程序设计的三种基本逻辑结构为顺序、选择和循环。
8、结构化程序设计的主要原则:
自顶向下、逐步求精、模块化、限制使用GOTO语句。
9、结构化程序设计的一种基本方法是逐步求精法。
10、在模块化程序设计中,按功能划分模块的原则是:
各模块的功能尽量单一,且各模块之间的联系尽量少。
11、在面向对象方法中,信息隐蔽是通过对象的封装性来实现的。
封装是一种信息隐蔽技术。
12、在面向对象方法中,类的实例称为对象。
13、在面向对象方法中,类之间共享属性和操作的机制称为继承。
不是所有的对象都有继承性。
14、在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送消息。
15、信息隐蔽的概念与模块独立性直接有关。
耦合是指模块之间联系的紧密程度。
耦合度越高则模块的独立性越差。
16、在面向对象方法学中,直接反映了用户对目标系统的要求的模型是功能模型。
17、面向对象技术中,对象是类的实例。
对象有三种成分:
标识、属性和方法。
18、多态性:
是指同一个操作作用于不同的对象可以有不同的解释,产生不同的执行结果。
第四章软件工程基础
1、软件工程研究的内容主要包括:
软件开发技术和软件工程管理。
2、软件是程序、数据与相关文档的集合。
3、软件工程的主要思想是强调在软件开发过程中需要应用工程化原则。
4、软件的生命周期:
是从软件产品提出、实现、使用维护到停止使用退役的过程。
软件交付后还要进行维护。
5、在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是:
需求分析。
6、软件工程的三要素是方法、工具和过程。
7、软件开发环境是全面支持软件开发全过程的软件工具集合。
8、软件工程过程是把输入转化为输出的一组彼此相关的资源和活动。
9、软件生命周期一般包括可行性研究与需求分析、设计、实现、测试、交付使用以及维护等活动。
10、软件工程的原则包括抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性和可验证性。
11、结构化方法的核心和基础是:
结构化程序设计理论。
12、数据流程图(DFD):
是描述数据处理过程的工具,是需求理解的逻辑模型的图形表示,它直接支持系统的功能建模。
在数据流程图中:
表示数据流;
表示加工;
═表示文件;
表示源、潭,是系统和环境的接口,属系统之外的实体;
═表示存储。
13、在数据流程图(DFD)中,带有名字的箭头表示数据的流向。
14、结构化分析(需求分析)常用工具有:
数据流程图(DFD)、数据字典(DD)、判定树和判定表。
15、Jackson方法是一种面向数据结构的结构化方法。
16、软件功能分解属于总体设计阶段。
17、软件需求分析阶段的工作,可以分为4个方面:
需求获取、需求分析、编写需求规格说明书以及需求评审。
18、数据描述是对软件系统所必须解决的问题作出的详细说明。
19、在结构化分析方法中,用于描述系统中所用到的全部数据和文件的文档称为数据字典。
数据字典是结构化分析方法的核心。
20、软件需求规格说明书是需求分析阶段的最后成果。
21、软件设计原则:
抽象、模块化、信息隐蔽、模块独立性。
22、在结构化设计方法中生成的结构图(SC)中,带有箭头的连线表示:
模块之间的调用关系。
23、为了使模块尽可能独立,要求:
模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱。
24、耦合:
是指模块之间联系的紧密程度。
内聚:
是指模块内部各元素之间联系的紧密程度。
内聚度越低则模块独立性越差。
25、数据流程图的类型有变换型和事务型两种。
26、将变换型映射成结构图,称为变换分析。
27、好的软件设计结构通常顶层高扇出,中间扇出较少,底层高扇入。
一个模块的扇入是指直接调用该模块的上级模块个数。
一个模块的扇出是指该模块直接调用的下级模块的个数。
扇入大表示模块的复用程度高,扇出大表示模块的复杂度高。
28、模块的作用范围应在控制范围之内。
29、详细设计的方法主要是结构化程序设计。
30、常用的图形描述工具有:
程序流程图、盒图和问题分析图。
31、常见的过程设计工具有:
1)图形工具:
程序流程图、N-S、PAD、HIPO。
2)表格工具:
判定表。
3)语言工具:
PDL(过程设计语言)。
32、详细设计的典型的语言描述工具是:
PDL。
33、软件测试的目的:
是尽可能多地发现软件产品(主要是指程序)中的错误和缺陷。
34、软件调试的目的:
是改正程序中的错误。
35、程序经调试改错后还应进行再测试。
36、黑盒测试:
是根据规格说明所规定的功能来设计测试用例,它不考虑程序的内部结构和处理过程。
白盒测试:
是在程序内部进行,主要用于完成软件内部所有数据结构的验证。
37、软件测试的方法和技术是多种多样的,从是否需要执行被测软件的角度,可以分为:
静态测试与动态测试。
若按功能划分则可分为白盒测试和黑盒测试方法。
38、静态测试:
包括代码检查、静态结构分析、代码质量度量等。
静态测试不实际运行软件,主要通过人工进行。
动态测试:
是基于计算机的测试,是为了发现错误而执行程序的过程。
39、在进行模块测试时,要为每个被测试的模块另外设计两类模块:
驱动模块和承接模块。
其中驱动模块的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。
承接模块是用于代替被测试模块调用的其他模块,它仅做少量的数据操作,是一个模拟子程序,不必将子模块的所有功能带入。
40、检查软件产品是否符合需求定义的过程称为确认测试。
41、白盒测试方法一般适合用于单元测试。
黑盒测试一般适合用于集成测试和确认测试。
42、软件测试过程一般按4个步骤进行,即单元测试、集成测试、验收测试(确认测试)和系统测试。
43、软件调试方法主要有强行排错法、回溯法和原因排除法。
第五章数据库设计基础
1、数据库技术的根本目标是要解决数据的共享问题。
2、数据库系统由5部分构成:
数据库、数据库管理系统、数据库管理员、硬件和软件。
3、在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。
其中数据独立性最高的阶段是数据库系统。
4、数据库系统减少了数据冗余。
5、数据库系统的核心是:
数据库管理系统。
(DBMS)
6、数据:
就是描述事物的符号记录。
7、数据库是数据的集合,具有统一的结构形式,是多种应用数据的集成,并可被各个应用程序所共享。
8、数据库管理系统提供了3种数据语言:
1)数据定义语言(DDL)。
该语言负责数据的模式定义与数据的物理存取构建。
2)数据操纵语言(DML)。
该语言负责数据的操纵,包括查询及增、删、改等操作。
3)数据控制语言(DCL)。
该语言负责数据完整性、安全性的定义与检查以及并发控制、故障恢复等功能。
9、数据库应用系统由数据库系统、应用软件和应用界面组成。
10、数据独立性一般分为物理独立性与逻辑独立性:
物理独立性:
数据的物理结构的改变,不影响数据库的逻辑结构,从而不致引起应用程序的变化。
逻辑独立性:
数据库总体逻辑结构的改变,不需要相应修改应用程序,这就是数据的逻辑独立性。
11、所谓数据独立性是指数据不依赖于应用程序,数据的逻辑结构、存储结构与存取方式的改变不会影响应用程序。
12、数据库系统数据集成性的主要特征是:
全局与局部的结构模式。
13、数据库系统在其内部具有三级模式及二级映射,三级模式分别是概念级模式、内部级模式与外部级模式。
二级映射分别是概念级到内部级的映射以及外部级到概念级的映射。
概念级模式:
是数据库系统中全局数据逻辑结构的描述,是全体用户公共数据视图。
外部级模式:
也称子模式或用户模式。
它是用户的数据视图,也就是用户所见到的数据模式。
内部级模式:
又称物理模式,给出了数据库物理存储结构与物理存取方法,如数据存储的文件结构、索引、集簇及hash等存取方式与存取路径。
14、以内模式为框架所组成的数据库叫物理数据库。
15、相对于数据库系统,文件系统的主要缺陷有数据联系弱、数据的不一致性和数据的冗余性。
16、数据库系统通过二级映射建立了模式间的联系与转换。
17、由于数据库的共享性,因此对数据库的规划、设计、维护、监视等需要有专人管理,称他们为数据库管理员。
18、数据模型所描述的内容有数据结构、数据操作与数据约束三个部分。
19、常见的数据模型有三种:
层次模型、网状模型和关系模型。
层次模型:
用树形结构来表示实体之间联系的模型。
网状模型:
用网状结构来表示实体之间联系的模型。
关系模型:
用二维表结构来表示实体之间联系的模型。
20、在关系数据库中,把数据表示成二维表,每一个二维表称为关系。
21、E—R模型的基本概念:
实体、属性、联系。
实体:
客观存在的并且可以下互区别的事物。
属性:
实体的特性。
联系:
现实世界中事物间的关联。
22、实体集间的联系有多种,就实体集的个数而言有:
1)两个实体集间的联系2)多个实体集间的联系3)一个实体集内部的联系
23、两个实体集间的联系:
一对一(1:
1)一对多(1:
M)多对一(M:
1)多对多(M:
N)
24、一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体“项目主管”与实体“项目”的联系属于一对多的联系。
25、一个关系的属性名表称为关系模式。
26、下列数据模型中,具有坚实理论基础的是(C)
A)层次模型B)网状模型C)关系模型D)以上3个都是
27、关系模型的数据操纵即是建立在关系上的数据操纵,一般有查询、增加、删除及及修改4种操作。
28、对关系数据库的查询可以分解成一个关系内部的属性指定、一个关系内的元组选择、两个关系的合并三个基本定位操作以及一个查询操作。
29、关系表中的每一行称为一个元组。
每一列称为一个属性。
30、数据模型分为格式化模型与非格式化模型,层次模型与网状模型属于格式化模型。
31、关系模型的完整性规则是对关系的某种约束条件,包括实体完整性、参照完整性和自定义完整性。
32、关系型数据库管理系统中存储与管理数据的基本形式是二维表。
33、关系代数是以集合代数为基础发展起来的,以关系为运算对象的一组高级运算的集合。
常用的操作有并、差、交、笛卡儿积、投影、选择和连接等。
34、下列关系运算中,能使经运算后得到的新关系中属性个数多于原来关系中属性个数的是(B)
A)选择B)连接C)投影D)并
35、下列关系运算中,能使经运算后得到的新关系中元组个数少于原来关系中元组个数的是(A)
A)选择B)连接C)投影D)并
36、按条件f对关系R进行选择,其关系代数表达式是:
σf(R)
37、关系数据库管理系统能实现的专门关系运算包括:
选择、投影、连接。
38、将E—R图转换到关系模式时,实体与联系都可以表示成关系。
39、数据库设计是指在已有数据库管理系统的基础上建立数据库。
40、数据库设计包括两个方面的设计内容,它们是概念设计和逻辑设计。
41、数据库设计一般采用生命周期法。
42、E—R模型可以转换成关系模型。
当两个实体间联系是M:
N联系时,它通常可转换成3个关系模式。
43、数据库的物理结构主要指数据库的存储记录格式、存储记录安排和存取方法。
44、数据库的建立包括数据模式的建立与数据加载。
基础知识部分习题
一、选择题
1)下列叙述中正确的是()
A)算法的执行效率与数据的存储结构无关B)算法的空间复杂度是指执行算法程序中指令(或语句)的条数C)算法的有穷性是指算法必须能执行有限个步骤之后终止D)以上3种描述都不对
2)以下数据结构中不属于线性数据结构的是()
A)队列B)线性表C)二叉树D)栈
3)在一棵二叉树上第5层的结点数最多是()
A)8B)16C)32D)15
4)在深度为7的满二叉树中,叶子结点的个数为()
A)32B)31C)64D)63
5)对长度为N的线性表进行顺序查找,在最坏情况下所需要的比较次数为()
A)log2nB)n/2C)nD)n+1
6)设树T的度为4,其中度为1,2,3,4的结点个数分别为4,2,1,1,则叶子结点()
A)8B)7C)6D)5
7)一棵二叉树共有70个叶子结点与80个度为1的结点,则该二叉树中总的结点个数为()
A)221B)219C)231D)229
8)设栈S的初始状态为空,元素a、b、c、d、e、f依次通过栈S,若出栈的顺序是b、d、c、f、e、a则栈的容量至少应该为()
A)3B)4C)5D)6
9)已知二叉树后序遍历序列是DABEC、中序遍历是DEBAC,则前序遍历是()
A)ACBEDB)DECABC)DEABCD)CEDBA
10)如果进栈序列为e1、e2、e3、e4则可能的出栈序列是()
A)e3、e1、e4、e2B)e2、e4、e3、e1C)e3、e4、e1、e2D)任意顺序
11)下列选项中不属于结构化程序设计方法的是()
A)自顶向下B)逐步求精C)模块化D)可复用
12)下面不属于面向对象方法的是()
A)对象B)继承C)类D)过程调用
13)数据库系统的核心是()
A)数据模型B)数据库管理系统C)软件工具D)数据库
14)将E-R图转换到关系模式时,实体和联系都可以表示成()
A)属性B)关系C)键D)域
15)SQL语言又称为()
A)结构化定义语言B)结构化控制语言
C)结构化查询语言D)结构化操纵语言
16)下在不属于软件工程的3个要素的是()
A)工具B)过程C)方法D)环境
17)下面各项中不属于软件生命周期中的开