2011全国计算机等级考试二级公共基础知识教程
2011年计算机等级考试二级公共基础知识_软件工程基础
2011年全国计算机等级考试二级公共基础知识总结:软件工程基础3.1 软件工程基本概念1、软件的相关概念计算机软件是包括程序、数据及相关文档的完整集合。
软件的特点包括:1)软件是一种逻辑实体,而不是物理实体,具有抽象性;2)软件的生产与硬件不同,它没有明显的制作过程;3)软件在运行、使用期间不存在磨损、老化问题;4)软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致了软件移植的问题;5)软件复杂性高,成本昂贵;6)软件开发涉及诸多的社会因素。
2、软件危机与软件工程软件工程源自软件危机。
所谓软件危机是泛指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
软件工程的主要思想是将工程化原则运用到软件开发过程,它包括3个要素:方法、工具和过程。
方法是完成软件工程项目的技术手段;工具是支持软件的开发、管理、文档生成;过程支持软件开发的各个环节的控制、管理。
软件工程过程是把输入转化为输出的一组彼此相关的资源和活动。
3、软件生命周期软件生命周期:软件产品从提出、实现、使用维护到停止使用退役的过程。
软件生命周期分为软件定义、软件开发及软件运行维护三个阶段:1)软件定义阶段:包括制定计划和需求分析。
制定计划:确定总目标;可行性研究;探讨解决方案;制定开发计划。
需求分析:对待开发软件提出的需求进行分析并给出详细的定义。
2)软件开发阶段:软件设计:分为概要设计和详细设计两个部分。
软件实现:把软件设计转换成计算机可以接受的程序代码。
软件测试:在设计测试用例的基础上检验软件的各个组成部分。
3)软件运行维护阶段:软件投入运行,并在使用中不断地维护,进行必要的扩充和删改。
4、软件工程的目标和与原则(1)软件工程目标:在给定成本、进度的前提下,开发出具有有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性且满足用户需求的产品。
(2)软件工程需要达到的基本目标应是:付出较低的开发成本;达到要求的软件功能;取得较好的软件性能;开发的软件易于移植;需要较低的维护费用;能按时完成开发,及时交付使用。
二级公共基础2011.3(第一章)
1
2 4 8 9 10 5 11 12 6 13 14 3 7 15
深度是多少呢?
满二叉树
1 满二叉树:每一层结点数达到最大 2 3
4
8 9 10
5
11 12
6
7
完全二叉树
完全叉树:除最后一层外,其余每一层结点数达到最 思考:完全二叉树有n个结点,问有多少个叶子结点? 大,最后一层结点或满,或右边连续缺少若干结点
链表
• 结点的储存丌一定连续 • 各结点之间的存储顺序不数据元素的逻辑关系可以 丌一致 • 链式存储适合于线性结构也适合于非线性结构
h
h 1345 数据域 指针域
元素1 1400
元素2 1536
元素3 1346
元素4 ∧
1.5.4 线性链表的基本运算
• 线性链表有3种基本运算?
• 查找 • 插入 • 删除
low
( 08, 14, 23, 37,
mid
46, 55, 68, 79,
high
91 )
low mid
( 08, 14, 23,
high=mid-1
37, 46, 55, 68, 79, 91 )
low=mid+1 mid
high
1.7.2 二分查找
• 二分法查找:适合于顺序存储的有序表 • 二分法查找的特点:
a1 a2 … an ←入队
↑ ↑ 队头 队尾 队列:可能出现假溢出现象 解决:采用循环队列(依然为顺序存储)
1.4.7 循环队列及其运算
• 什么是循环队列
• 循环队列是队列的一种顺序存储结构形式,在 队列最后一个位置已被使用,而第一个位置穸 闲的情况下,仍然能进行入队操作。
全国计算机等级考试二级教程——公共基础知识
全国计算机等级考试二级教程——公共基础知识一、计算机的基本组成部分。
计算机由硬件和软件两部分组成,硬件包括中央处理器(CPU)、存储器、输入输出设备等;软件包括操作系统、应用软件等。
1.中央处理器(CPU):计算机的核心部件,执行所有指令。
2.存储器:存储数据和程序。
3.输入设备:把数据从外部输入到计算机中,如键盘、鼠标、扫描仪等。
4.输出设备:把计算机处理的数据输出到外部,如打印机、显示器、音响等。
二、计算机的工作原理。
计算机的工作原理可以分为5个部分:输入、存储、处理、输出和控制。
1.输入:把数据或指令输入到计算机中,通过输入设备进行输入。
2.存储:将输入的数据或指令存储在内存中。
3.处理:根据指令执行相应的操作,如计算、比较、排序等。
4.输出:将处理后的结果输出到外部,通过输出设备进行输出。
5.控制:计算机通过控制器控制各个部件的运行,以完成整个计算过程。
三、计算机的分类。
计算机按其用途和规模可以分为大型机、中型机、小型机和微型计算机。
1.大型机:主要用于大型企业和政府机关,可以同时处理多个用户的请求,性能强劲。
2.中型机:主要用于中小型企业,相对于大型机规模和性能较小。
3.小型机:主要针对个体户、小企业和办公室等,处理能力比微型计算机强。
4.微型计算机:用于一般個人用戶和小型企业,具有价格低廉、体积小及易操作的特点,性能相对其他计算机较弱。
四、操作系统。
操作系统是管理计算机硬件和软件资源的程序,它在计算机的各个层次上进行控制和管理,包括处理器的管理、内存的管理、文件系统的管理等等。
常见的操作系统有:Windows、Linux、Unix、Android等。
五、计算机网络。
计算机网络是指把分布在不同地点的计算机集成在一起,实现资源共享和信息传输的系统。
计算机网络的分层体系结构一般被分为7层,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
其中物理层和数据链路层主要负责数据传输的物理和链路层面的工作;网络层和传输层负责数据传输的网络和传输方面的工作;会话层、表示层和应用层则负责数据传输的高层次工作。
(面授版)全国计算机等级考试二级公共基础知识辅导讲义
全国计算机等级考试二级——公共基础知识教程(2011年版)作者:王欣前言全国计算机等级考试(National Computer Rank Examination,简称NCRE)是经原国家教育委员会(现教育部)批准,由教育部考试中心主办,面向社会,用于考察应试人员计算机应用知识与技能的全国性计算机水平考试体系。
全国计算机等级考试设四个等级。
它不以评价教学为目的,考核内容不是按照学校要求设定,而是根据社会不同部门应用计算机的不同程度和需要、国内计算机技术的发展情况以及中国计算机教育、教学和普及的现状而确定的;它以应用能力为主,划分等级,分别考核,为人员择业、人才流动提供其计算机应用知识与能力水平的证明。
全国计算机等级考试二级是目前参考人数最多的一个等级。
二级考试设置了多个考试科目:C语言程序设计、Visual Basic语言程序设计、Visual FoxPro数据库程序设计、Access数据库程序设计、C++语言程序设计、Java语言程序设计、Delphi语言程序设计等。
考试形式为“理论+上机”,必须理论考试和上机考试均合格才认作通过考试。
不管考生选考二级哪个科目,理论考试中都要考公共基础知识,且试题均一样,占30分,在试卷中为选择题的1-10题,填空题的1-5题。
公共基础知识多数考题考察的都是基本原理与基本概念,要求考生实记。
目前在网络上流行的《全国计算机等级考试——二级公共基础知识辅导讲义》为我在2008年编写的,本次改版根据最新的考试大纲,结合教育部考试中心所编的教程和近年来的数份真题,重新对某些知识点进行了归纳,全面符合最新的考试命题特点。
本书分为四章,排序按照教育部考试中心所编的教程设定,第一章为“数据结构与算法”;第二章为“程序设计基础”;第三章为“软件工程基础”;第四章为“数据库设计基础”。
考生只要把本书中的要点掌握,并做几份近几年的公共基础知识真题后,应对公共基础知识应该没有太大问题。
全国计算机等级考试二级教程——公共基础知识
全国计算机等级考试二级教程——公共基础知识一、操作系统操作系统是计算机系统中最基本的软件,其作用是管理、协调并控制各类计算机资源,提供给应用程序一个运行环境。
操作系统的特点:1. 并发:多个程序同时运行,需要操作系统管理和调度资源。
2. 共享:多个程序共享计算机资源,操作系统需要合理分配和控制资源的使用。
3. 虚拟:操作系统可以为每个应用程序提供一个虚拟的机器环境,使得每个应用程序都觉得自己在独占计算机资源。
4. 异步:程序的执行都是异步的,操作系统需要管理和协调程序的执行。
常见操作系统:1. Windows2. macOS3. Linux二、数据库数据库是一种用于存储和管理数据的软件系统,它可以提供对数据的快速访问和高效管理。
数据库的特点:1. 数据共享:多个用户可以同时访问数据库,并共享其中的数据。
2. 数据安全:数据库系统可以对数据进行安全控制,保证数据的完整性、一致性和安全性。
3. 数据独立:应用程序和数据库是独立的,应用程序只需要使用提供的数据接口访问数据库。
4. 数据持久化:数据库中的数据可以永久保存,即使电脑断电或重启也不会影响数据的保存。
常见数据库:1. MySQL2. Oracle3. SQL Server三、网络技术网络技术是计算机网络系统的核心,包含了数据传输、数据交换和数据处理等各种技术和方法,使得计算机和网络系统能够高效地进行数据交流和通信。
网络技术的特点:1. 数字化:计算机网络系统中所有数据都是以数字形式传输和处理的。
2. 传输速度快:计算机网络系统能够非常快地进行数据传输和处理。
3. 实时性:计算机网络系统中的数据传输和处理是实时的。
4. 全球化:计算机网络系统可以实现全球范围的数据传输和通信。
常见网络技术:1. TCP/IP协议2. 网络安全技术3. 无线网络技术。
计算机二级公共基础知识教程
计算机二级公共基础知识教程计算机已经成为现代社会中不可或缺的一部分,几乎所有行业都离不开计算机的应用。
为了提高我们的计算机运用水平,了解计算机的基本原理和操作方法是至关重要的。
本教程将为大家介绍计算机二级公共基础知识,帮助读者了解计算机的组成部分、操作系统、常用办公软件以及网络基础知识。
一、计算机的组成部分计算机由硬件和软件两部分组成。
硬件包括中央处理器、内存、硬盘、显示器、键盘、鼠标等;而软件则包括操作系统和应用软件。
中央处理器是计算机的核心部件,负责执行计算机的指令和处理数据。
内存是临时存储数据的地方,而硬盘则是长期存储数据的地方。
显示器用于展示计算机的输出信息,键盘和鼠标用于输入指令和操作计算机。
理解计算机的组成部分对于学习计算机知识至关重要。
二、操作系统操作系统是计算机的核心软件,它负责管理计算机的硬件资源,控制计算机的运行。
常见的操作系统有Windows、Mac OS和Linux等。
操作系统提供了图形用户界面和命令行界面两种操作方式。
图形用户界面更加直观和易于上手,而命令行界面则更加灵活和高效。
熟悉操作系统的基本操作,对于日常的计算机使用和问题解决非常重要。
三、常用办公软件办公软件是计算机用户必备的工具,常见的有文字处理软件、电子表格软件和演示文稿软件等。
文字处理软件如Microsoft Word可以用于编写文档、设计排版和处理图像等;电子表格软件如Microsoft Excel可以用于数据分析和计算;演示文稿软件如Microsoft PowerPoint则可以用于制作各类演示文稿。
熟练掌握这些办公软件的使用方法,将提高我们的工作效率和表达能力。
四、网络基础知识互联网已经成为我们日常生活中不可或缺的一部分,了解网络基础知识势在必行。
网络由多个计算机通过通信设备连接而成,可以实现计算机之间的数据传输和信息共享。
常见的网络类型有局域网、广域网和因特网等。
了解网络的基本结构和原理,能够帮助我们更好地利用网络资源,保护网络安全,并且可以参与到网络应用开发和维护中。
全国计算机等级考试教程:二级公共基础知识
读书笔记
内容挺全的,都是二级基础知识。
内容全,但是有些数据有小错误,不过我感觉有些数据演算讲解这方面的还是看不懂[微笑][抓狂]。
教材能有多生动呢?难不成计算机二级是俺一辈子都过不了的考试吗?!。
我是为了应对office二级考试,需要看公共基础方面的书籍,因为常用**阅读,就在这上面发现了这本书, 有知识,有联系,对于掌握和记忆是很有帮助的。
2
4.2数据模型
3
4.3关系代数
4
4.4数据库设 计与管理
5
课后总复习
附录A全国计算 机等级考试二 级公共基础知 识考试大纲
附录B参考答案
作者介绍
这是《全国计算机等级考试教程:二级公共基础知识》的读书笔记模板,暂无该书作者的介绍。
精彩摘录
这是《全国计算机等级考试教程:二级公共基础知识》的读书笔记模板,可以替换为自己的精彩内容摘录。
非常功利地读完了这本书…目的是为了考计算机二级…还是临时抱佛脚的心态占上风,以往都是刷题库去记 忆公共知识,也总是效果平平。反而倍感疲惫,我真的需要这样的一张证书吗。果然凡事还是得奢求一点兴趣最 好。
目录分析
1
1.1算法
2
1.2数据结构 的基本概念
3 1.3线性表及
其顺序存储结 构
4
1.4栈和队列
全国计算机等级考试教程:二级公共 基础知识
读书笔记模板
01 思维导图
03 读书笔记 05 作者介绍
目录
02 内容摘要 04 目录分析 06 精彩摘录
思维导图
本书关键字分析思维导图
等级
第章
等级
全国
程序
是非
基础
考试
计算机
考试 设计
51PASS考证通2011年3月版二级公共基础知识突击教程
51PASS考证通2011年3月版二级公共基础知识突击教程突击教程(2011年3月版)当前版本:2011-01-22最新版本下载:/前言............................................................- 5 - 使用说明....................................................- 5 - 第1天:全部的基本概念..........................................- 5 - Point1:算法的基本概念......................................- 5 - 出题趋势................................................- 5 -考点精讲................................................- 6 -真题分析................................................- 6 - Point2:软件工程基本概念....................................- 8 - 出题趋势................................................- 8 -考点精讲................................................- 8 -真题分析................................................- 8 - Point3:数据库的基本概念...................................- 11 - 出题趋势...............................................- 11 -考点精讲...............................................- 11 -真题分析...............................................- 12 - Point4:程序设计方法与风格.................................- 16 - 出题趋势...............................................- 16 -考点精讲...............................................- 16 -真题分析...............................................- 17 - Point5:结构化程序设计.....................................- 17 - 出题趋势...............................................- 18 -考点精讲...............................................- 18 -真题分析...............................................- 18 - Point6:面向对象的程序设计方法.............................- 19 - 出题趋势...............................................- 19 -考点精讲...............................................- 19 -真题分析...............................................- 20 - Point7:基本排序与查找的算法...............................- 21 - 出题趋势...............................................- 21 -考点精讲...............................................- 21 -真题分析...............................................- 22 - 第2天:软件工程与数据库设计...................................- 25 - Point1:数据模型...........................................- 25 - 出题趋势...............................................- 25 -考点精讲...............................................- 25 -真题分析...............................................- 26 - Point2:软件定义阶段.......................................- 31 - 出题趋势...............................................- 31 -考点精讲...............................................- 31 -真题分析...............................................- 32 - Point3:关系代数...........................................- 33 - 出题趋势...............................................- 33 -考点精讲...............................................- 33 -真题分析...............................................- 33 -Point4:软件设计阶段.......................................- 37 - 出题趋势...............................................- 37 -考点精讲...............................................- 37 -真题分析...............................................- 38 - Point5:数据库设计与管理...................................- 43 - 出题趋势...............................................- 43 -考点精讲...............................................- 43 -真题分析...............................................- 44 - Point6:软件测试...........................................- 46 - 出题趋势...............................................- 46 -考点精讲...............................................- 46 -真题分析...............................................- 47 - Point7:程序的调试.........................................- 50 - 出题趋势...............................................- 50 -考点精讲...............................................- 50 -真题分析...............................................- 50 - 第3天:数据结构:栈、队列、二叉树等...........................- 52 - Point1:数据结构的定义.....................................- 52 - 出题趋势...............................................- 52 -考点精讲...............................................- 52 -真题分析...............................................- 52 - Point2:线性表、线性链表和循环链表.........................- 53 - 出题趋势...............................................- 53 -考点精讲...............................................- 53 -真题分析...............................................- 53 - Point3:栈、队列和循环队列.................................- 55 - 出题趋势...............................................- 55 -考点精讲...............................................- 55 -真题分析...............................................- 55 - Point4:线性链表、双向链表与循环链表.......................- 60 - 出题趋势...............................................- 60 -考点精讲...............................................- 60 -真题分析...............................................- 61 - Point5:二叉树.............................................- 62 - 出题趋势...............................................- 62 -考点精讲...............................................- 62 -真题分析...............................................- 63 - 模拟测验.......................................................- 69 - 2011年3月二级公共基础知识................................- 69 -前言使用说明全国计算机等级考试的所有二级科目笔试考试中,都包括公共基础知识的30分题目。
全国计算机等级考试二级教程——公共基础知识
全国计算机等级考试二级教程——公共基础知识一、操作系统基础知识1.操作系统是什么?请简要说明其作用和功能。
操作系统是计算机系统中的一种软件,它负责管理和控制计算机硬件资源,并为用户程序提供运行环境。
其主要功能包括进程管理、内存管理、文件系统管理和设备管理等。
2.请列举几种常见的操作系统。
常见的操作系统包括Windows、Linux、Mac OS、Android等。
3.什么是进程?什么是线程?进程是正在执行的程序的实例,是操作系统资源分配与调度的基本单位。
线程是进程中的一个执行单元,一个进程可以包含多个线程。
4.什么是文件系统?文件系统是一种组织和管理计算机存储设备上数据的方法,用于存储和检索文件,并提供对文件的访问控制和保护。
二、计算机网络基础知识1.什么是IP地址?IP地址的作用是什么?IP地址是因特网协议(IP)的网络接口的标识,用于唯一地标识和定位网络上的计算机设备。
IP地址的作用是用于在数据通信中确定源和目标的地址。
2. 请简述Internet的结构。
Internet的结构是由成千上万个相互连接的计算机网络组成的,形成一个全球性的网络。
它使用一种称为互联网协议(IP)的通信协议进行数据传输,通过路由器相互连接。
3.什么是HTTP协议?HTTP协议有哪些特点?HTTP协议(Hypertext Transfer Protocol)是一种用于从服务器传输超文本到客户端的协议。
它的特点包括无连接性、无状态性和可扩展性。
三、数据库基础知识1.什么是数据库?数据库的作用是什么?数据库是存储、管理和组织数据的集合,它提供了一种结构化的方式来组织和存储数据,以便于数据的存取和处理。
数据库的作用是存储和管理大量的数据,并为用户提供数据查找、插入、更新和删除等功能。
2.请简述关系数据库的特点和优点。
关系数据库是一种以关系为基础的数据模型。
它的特点包括数据的结构化、数据间的关系建立、数据的操作和约束等。
关系数据库的优点是数据的一致性、数据的可扩展性、数据的安全性和数据的完整性。
2011年计算机二级公共基础知识教程(2)
第二章程序设计基础一、学习目标与要求1.了解程序设计的方法,以及程序设计风格确立的一些因素,掌握程序设计的基本规则;2.了解结构化程序设计的基本原则,掌握结构化程序设计的基本结构与特点;3.了解面向对象的程序设计方法,并理解面向对象方法的一些基本概念。
二、内容要点(一)程序设计方法与风格程序设计方法:主要经过了面向过程的结构化程序设计和面向对象的程序设计方法。
程序设计风格,是指编写程序时所表现出来的特点、习惯和逻辑思路。
通常,要求程序设计的风格应强调简单和清晰,必须是可以读的,可以理解的。
要形成良好的程序设计的风格,应考虑如下因素:1.源程序文档化(1)符号名的命名:符号名的命名要具有一定的实际含义,便于对程序的理解,即通常说的见名思义;(2)程序注释:正确的程序注释能够帮助他人理解程序。
注释一般包括序言性注释和功能性注释;(3)视觉组织:为了使程序一目了然,可以对程序的格式进行设置,适当地通过空格、空行、缩进等使程序层次清晰。
2.数据说明方法(1)数据说明的次序规范化;(2)说明语句中变量安排有序化;(3)使用注释来说明复杂的数据结构。
3.语句的结构(1)在一行内只写一条语句;(2)程序的编写应该优先考虑清晰性;(3)除非对效率有特殊的要求,否则,应做到清晰第一,效率第二;(4)首先保证程序的正确,然后再要求速度;(5)避免使用临时变量使程序的可读性下降;(7)尽量使用库函数,即尽量使用系统提供的资源;(8)避免采用复杂的条件语句;(9)尽量减少使用“否定”条件的条件语句;(10)数据结构要有利于程序的简化;(11)要模块化,使模块功能尽可能单一化;(12)利用信息隐蔽,确保每一个模块的独立性;(13)从数据出发去构造程序;(14)不要修补不好的程序,要重新编写。
4.输入和输出(1)对所有的输入输出数据都要检验数据的合法性;(2)检查输入项的各种重要组合的合理性;(3)输入格式要简单,以使得输入的步骤和操作尽可能简单;(4)输入数据时,应允许自由格式;(5)应允许缺省值;(6)输入一批数据时,最好使用输入结束标志;(7)以交互式输入输出方式进行输入时,要在屏幕上使用提示符明确输入的请求,同时在数据输入过程中和输入结束时,应在屏幕上给出状态信息;(8)当程序设计语言对输入格式有严格要求时,应保持输入格式与输入语句的一致性;给所有的输出加注释,并设计输出报表格式。
全国计算机等级考试二级公共基础知识教程
全国计算机等级考试二级公共基础知识考纲考试内容一、基本数据结构与算法1.算法的基本概念;算法复杂度的概念和意义(时间复杂度与空间复杂度)。
2.数据结构的定义;数据的逻辑结构与存储结构;数据结构的图形表示;线性结构与非线性结构的概念。
3.线性表的定义;线性表的顺序存储结构及其插入与删除运算。
4.栈和队列的定义;栈和队列的顺序存储结构及其基本运算。
5.线性单链表、双向链表与循环链表的结构及其基本运算。
6.树的基本概念;二叉树的定义及其存储结构;二叉树的前序、中序和后序遍历。
7.顺序查找与二分法查找算法;基本排序算法(交换类排序,选择类排序,插入类排序)。
二、程序设计基础1.程序设计方法与风格。
2.结构化程序设计。
3.面向对象的程序设计方法,对象,方法,属性及继承与多态性。
三、软件工程基础1.软件工程基本概念,软件生命周戎概念,软件工具与软件开发环境。
2.结构化分析方法,数据流图,数据字典,软件需求规格说明书。
3.结构化设计方法,总体设计与详细设计。
4.软件测试的方法,白盒测试与黑盒测试,测试用例设计,软件测试的实施,单元测试、集成测试和系统测试。
5.程序的调试,静态调试与动态调试。
四、数据库设计基础1.数据库的基本概念:数据库,数据库管理系统,数据库系统。
2.数据模型,实体联系模型及E-R图,从E-R图导出关系数据模型。
3.关系代数运算,包括集合运算及选择、投影、连接运算,数据库规范化理论。
4.数据库设计方法和步骤:需求分析、概念设计、逻辑设计和物理设计的相关策略。
考试方式公共基础的考试方式为笔试,与C语言(VisualBASIC、Visual FoxPro、Java、Access、Visual C++)的笔试部分合为一张试卷。
公共基础部分占全卷的30分。
公共基础知识有10道选择题和5道填空题。
第一章数据结构与算法一、内容要点(一)算法1.算法的基本概念算法是指解题方案的准确而完整的描述。
即是一组严谨地定义运算顺序的规则,并且每一个规则都是有效的,且是明确的,没有二义性,同时该规则将在有限次运算后可终止。
2011年计算机二级公共基础知识教程(1)
1. 基本数据结构与算法1.1 算法算法:是指解题方案的准确而完整的描述。
算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。
算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。
特征包括:(1)可行性;(2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性;(3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义;(4)拥有足够的情报。
算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构。
指令系统:一个计算机系统能执行的所有指令的集合。
基本运算和操作包括:算术运算、逻辑运算、关系运算、数据传输。
算法的控制结构:顺序结构、选择结构、循环结构。
算法基本设计方法:列举法、归纳法、递推、递归、减斗递推技术、回溯法。
算法复杂度:算法时间复杂度和算法空间复杂度。
算法时间复杂度是指执行算法所需要的计算工作量。
算法空间复杂度是指执行这个算法所需要的内存空间。
1.2 数据结构的基本概念数据结构研究的三个方面:(1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构;(2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构;(3)对各种数据结构进行的运算。
数据结构是指相互有关联的数据元素的集合。
数据的逻辑结构包含:(1)表示数据元素的信息;(2)表示各数据元素之间的前后件关系。
数据的存储结构有顺序、链接、索引等。
线性结构条件:(1)有且只有一个根结点;(2)每一个结点最多有一个前件,也最多有一个后件。
非线性结构:不满足线性结构条件的数据结构。
1.3 线性表及其顺序存储结构线性表由一组数据元素构成,数据元素的位置只取决于自己的序号,元素之间的相对位置是线性的。
在复杂线性表中,由若干项数据元素组成的数据元素称为记录,而由多个记录构成的线性表又称为文件。
全国计算机二级考试公共基础知识2011_赵辅
全国计算机二级考试公共基础知识(全)1数据结构与算法1.算法的概念、算法时间复杂度(计算工作量)及空间复杂度(内存空间)的概念描述算法的工具通常有传统流程图、N-S结构化流程图、算法描述语言等。
一个算法一般都可以用顺序、选择、循环3种基本控制结构组合而成。
2.数据结构的定义、数据逻辑结构(逻辑关系)及物理结构(存储结构)的定义3.栈的定义及其运算、线性链表的存储方式如果一个非空的数据结构满足下列两个条件:(1)有且只有一个根结点;(2)每一个结点最多有一个前件,也最多有一个后件。
则称该数据结构为线性结构。
栈是限定只在一端进行插入与删除的线性表,通常称插入、删除的这一端为栈顶,另一端为栈底。
栈是按照"先进后出"或"后进先出"的原则组织数据的。
4.树与二叉树的概念、二叉树的基本性质、完全二叉树的概念、二叉树的遍历具有以下两个特点:①非空二叉树只有一个根结点;②每一个结点最多有两棵子树,且分别称为该结点的左子树和右子树。
二叉树具有以下几个性质:性质1:在二叉树的第k层上,最多有2k-1(k≥1)个结点;性质2:深度为m的二叉树最多有2m-1个结点;性质3:在任意一棵二叉树中,度为0的结点(即叶子结点)总是比度为2的结点多一个。
性质4:具有n个结点的二叉树,其深度至少为〔log2n〕+1,其中〔log2n〕表示取log2n的整数部分。
性质5:具有n个结点的完全二叉树的深度为〔log2n〕+1。
小技巧:在二叉树的遍历中,无论是前序遍历,中序遍历还是后序遍历,二叉树的叶子结点的先后顺序都是不变的。
3、满二叉树与完全二叉树满二叉树是指这样的一种二叉树:除最后一层外,每一层上的所有结点都有两个子结点。
在满二叉树中,每一层上的结点数都达到最大值,即在满二叉树的第k层上有2k-1个结点,且深度为m的满二叉树有2m -1个结点。
完全二叉树是指这样的二叉树:除最后一层外,每一层上的结点数均达到最大值;在最后一层上只缺少右边的若干结点。
2011年下半年计算机二级公共基础知识
2011年下半年全国计算机二级公共基础知识(下面的138道题目,在二级考试中命中率极高)一、选择题(1) 下面叙述正确的是(C)A. 算法的执行效率与数据的存储结构无关B. 算法的空间复杂度是指算法程序中指令(或语句)的条数C. 算法的有穷性是指算法必须能在执行有限个步骤之后终止D. 以上三种描述都不对(2) 以下数据结构中不属于线性数据结构的是(C)A. 队列B. 线性表C. 二叉树D. 栈(3) 在一棵二叉树上第5层的结点数最多是(B) 注:由公式2k-1得A. 8B. 16C. 32D. 15(4) 下面描述中,符合结构化程序设计风格的是(A)A. 使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑B. 模块只有一个入口,可以有多个出口C. 注重提高程序的执行效率D. 不使用goto语句(5) 下面概念中,不属于面向对象方法的是(D) 注:P55-58A. 对象B. 继承C. 类D. 过程调用(6) 在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是(B)A. 可行性分析B. 需求分析C. 详细设计D. 程序编码(7) 在软件开发中,下面任务不属于设计阶段的是(D)A. 数据结构设计B. 给出系统模块结构C. 定义模块算法D. 定义需求并建立系统模型(8) 数据库系统的核心是(B)A. 数据模型B. 数据库管理系统C. 软件工具D. 数据库(9) 下列叙述中正确的是(C)A.数据库是一个独立的系统,不需要操作系统的支持B.数据库设计是指设计数据库管理系统C.数据库技术的根本目标是要解决数据共享的问题D.数据库系统中,数据的物理结构必须与逻辑结构一致(10) 下列模式中,能够给出数据库物理存储结构与物理存取方法的是(A) 注:P108A. 内模式B. 外模式C. 概念模式D. 逻辑模式(11) 算法的时间复杂度是指(C)A. 执行算法程序所需要的时间B. 算法程序的长度C. 算法执行过程中所需要的基本运算次数D. 算法程序中的指令条数(12) 算法的空间复杂度是指(D)A. 算法程序的长度B. 算法程序中的指令条数C. 算法程序所占的存储空间D. 算法执行过程中所需要的存储空间(13) 设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为(B) 注:利用公式n=n0+n1+n2、n0=n2+1和完全二叉数的特点可求出A. 349B. 350C. 255D. 351(14) 结构化程序设计主要强调的是(B)A.程序的规模B.程序的易读性C.程序的执行效率D.程序的可移植性(15) 在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是(D) 注:即第一个阶段A. 概要设计B. 详细设计C. 可行性分析D. 需求分析(16) 数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。
[高等教育]全国计算机等级考试 二级公共基础知识
主要优点
与人类习惯的思维方法一致 稳定性好 可重用性好 易于开发大型软件产品 可维护性好
类(Class)
一个类定义了一组大体上相似的对象。 一个类所包含的方法和数据描述一组对象的共同 行为和属性。 类是在对象之上的抽象,对象是类的具体化,是 类的实例 将数据和操作数据的函数衔接在一起,构成一个 具有类类型的对象的描述。 对象的内部实现受保护,外界不能访问 封装简化了程序员对对象的使用
三种基本结构
顺序结构 选择结构 循环结构
三种基本结构的特点
只有一个入口 只有一个出口 每一个基本结构中的每一部分都有机会执行到 结构内不存在“死循环”
3.2.2 设计原则
自顶向下 逐步求精 模块化 限制使用goto语句
结构化程序设计方法
பைடு நூலகம்
要求把程序的结构规定为顺序、选择和循环三种 基本机构,并提出了自顶向下、逐步求精、模块 化程序设计等原则。 结构化程序设计是把模块分割方法作为对大型系 统进行分析的手段,使其最终转化为三种基本结 构,其目的是为了解决由许多人共同开发大型软 件时,如何高效率地完成可靠系统的问题。 程序的可读性好、可维护性好成为评价程序质量 的首要条件。 缺点:程序和数据结构松散地耦合在一起。解决 此问题的方法就是采用面向对象的程序设计方法 (OOP)。
全国计算机等级考试
二级公共基础知识 (3)
2011.3 2003.11.
3.程序设计基础
3.0 内容
程序设计方法与风格 结构化程序设计 面向对象的程序设计方法,对象、 方法、属性及继承与多态性。
全国计算机等级考试二级教程——公共基础知识
全国计算机等级考试二级教程——公共基础知识全国计算机等级考试(NCRE)是由中国国家人力资源和社会保障部主管,中国国家教育部主办的一项国家级计算机技能资格认证考试。
该考试分为初级、中级、高级三个级别,每个级别又分为多个科目。
本文将重点介绍NCRE二级考试中的公共基础知识。
公共基础知识是NCRE二级考试中的一个科目,主要测试考生对计算机的基本概念、计算机网络、操作系统、办公自动化等方面的了解和掌握程度。
下面将从以下几个方面介绍公共基础知识的内容。
首先是计算机的基本概念。
考生需要了解计算机的硬件和软件组成,掌握计算机的基本术语和概念,并能够解释与计算机相关的术语。
另外,还需要了解计算机的工作原理和分类。
其次是计算机网络。
考生需要了解计算机网络的基本概念、发展历史和分类。
熟悉常见的网络协议、网络拓扑结构和网络安全知识。
还需要了解网络应用的基本原理。
办公自动化是现代社会中广泛使用的一种工具。
考生需要了解办公自动化的基本概念、发展历史和常见的办公自动化软件。
熟悉办公自动化软件的操作方法,能够进行常见的文档处理、电子表格操作、演示文稿制作等任务。
此外,公共基础知识还包括了计算机硬件方面的内容。
考生需要了解计算机硬件的基本组成和性能指标,掌握常见硬件设备的安装和配置方法。
此外,还需要了解常见的存储媒介和数据备份的方法。
综上所述,公共基础知识是NCRE二级考试中的一门科目,主要测试考生对计算机的基本概念、计算机网络、操作系统、办公自动化等方面的了解和掌握程度。
考生需要掌握计算机的基本术语和概念,了解计算机网络和操作系统的基本知识,熟悉办公自动化软件的操作方法,了解计算机硬件的组成和性能指标。
只有全面掌握这些知识,才能顺利通过NCRE二级考试。
2011年计算机二级公共基础知识教程(3)
第三章软件工程基础一、学习目标与要求1.了解软件工程的基本概念;2.了解软件工程过程与软件的生命周期,以及软件工程的目标和原则;3.了解利用结构化分析法进行软件工程中的需求分析的方法,并了解需求分析的方法和需要完成的任务;4.了解数据流图的使用方法;5.了解如何利用结构化设计方法进行软件设计,并了解软件设计的一些常用用工具;6.了解软件测试的目的和方法,以及软件测试的准则,了解常用的软件测试方法的区别和各自的功能与特点;7.了解程序调试的方法和原则。
二、内容要点(一)软件工程基本概念1.软件定义与软件特点1)软件的定义与计算机系统的操作有关的计算机程序、规程、规则,以及可能有的文件、文档及数据。
2)软件的特点(1)软件是一种逻辑实体,而不是物理实体,具有抽象性;(2)软件的生产与硬件不同,它没有明显的制作过程;(3)软件在运行、使用期间不存在磨损、老化问题;但为了适应硬件、环境以及需求的变化要进行修改,会导致一些错误的引入,导致软件失效率升高,从而使得软件退化;(4)软件的开发、运行对计算机系统具有依赖性,受到计算机系统的限制,这导致了软件移植的问题;(5)软件复杂性高,成本昂贵。
软件开发需要投入大量、高强度的脑力劳动,成本高,风险大;(6)软件开发涉及诸多的社会因素。
许多软件的开发和运行涉及软件用户的机构设置,体制问题以及管理方式等,甚至涉及到人们的观念和心理,软件知识产权及法律等问题。
3)软件的分类按功能分,可分为:应用软件:为解决特定领域的应用而开发的软件系统软件:是计算机管理自身资源,提高计算机使用效率并为计算机用户提供各种服务的软件支撑软件(或工具软件):介于系统软件和应用软件之间,协助用户开发软件的工具性软件,包括辅助和支持开发和维护应用软件的工具软件2.软件危机与软件工程1)软件危机泛指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
它主要表现在:(1)软件需求的增长得不到满足,用户对系统不满意的情况经常发生;(2)软件开发成本和进度无法控制。
计算机等级考试二级MSOFFICE公共基础知识
第一部分二级公共基础知识(10分)第一章:基本数据结构与算法(3分)1.算法的基本概念1.1算法是指解题方案的准确而完整的描述。
算法不等于程序,也不等于计算方法。
1.2算法的基本特征:可行性、确定性、有穷性、拥有足够的情报。
有穷性指的算法运算时间是有限的。
1.3算法复杂度:时间复杂度与空间复杂度。
算法的时间复杂度是指执行算法所需要的计算工作量,即算法在执行过程中的基本运算次数。
算法的空间复杂度是指算法在执行过程中所需要的内存空间。
两者没有直接关系。
2.数据结构的定义2.1数据结构,通俗的讲就是数据元素之间的前后间关系,一个数据结构通常用图形表示。
其中数据元素用一个方框表示,称作数据结点,而各个元素之间的关系用一条有向线段表示,从前个结点指向后个结点。
比如一年四季数据结构和家庭成员辈分关系数据结构:在这种数据结构的图形中,没有前结点的称为根结点,没有后结点的称为终端结点即叶子结点,春和父亲是根结点,冬,儿子,女儿是叶子结点。
对于数据结构的计算,插入就是新增一个结点,删除就是删除一个结点,插入删除是数据结构的两种基本运算。
2.2线性结构与非线性结构根据数据结构中各元素之间前后关系的复杂程度,一般将数据结构分为两大类型:线性结构与非线性结构。
线性结构,又称为线形表,是指满足两个条件的数据结构,有且只有一个根结点,每个结点最多有一个前结点,也最多有一个后结点,不满足这两个条件的就是非线性结构。
常见的线性结构有:线性表、栈、队列、线性链表、循环队列等,其中栈和队列是两种特殊的线性结构。
3.栈和队列的定义3.1栈:是只能在线性结构的一端进行计算(插入或删除)。
允许插入或者删除的那段叫栈顶,不允许插入和删除的叫栈底。
总是先进后出,后进先出。
栈底指针不变,栈中元素随栈顶指针的变化而动态变化。
3.2队列:只能在表的一端进行插入(队尾),在表的另一端进行删除的线性表(队头),是先进先出表。
3.3队列的顺序存储结构一般采用循环队列的形式,是一种顺序存储结构。
2011年全国计算机等级考试公共基础
2011年全国计算机等级考试第一章数据结构与算法考点1:算法1.算法的时间复杂度是指算法执行过程中所需要的基本运算次数。
2.算法的空间复杂度是指算法执行过程中所需要的存储空间。
3.算法通常由两种基本要素组成,一是对数据对象的运算和操作,二是算法的控制结构。
4.在同一个问题规模下,如果算法执行所需的基本运算次数取决于某一特定输入时,可以用平均性态和最坏情况复杂性两种方法来分析算法的工作量。
5.算法设计基本方法主要有列举法、归纳法、递推、递归和减半递推技术。
考点2:数据结构的基本概念1.数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构(也称数据的物理结构)。
一般说来,一种数据的逻辑结构根据需要可以表示成多种存储结构,常用的存储结构有顺序、链接、索引等存储结构。
而采用不同的存储结构,其数据处理的效率是不同的。
2.所谓数据处理,是指对数据集合中的各元素以各种方式进行运算,包括插入、删除、查找、更改等运算,也包括对数据元素进行分析。
3.数据结构是指相互有关联的数据元素的集合。
4.数据元素之间的任何关系都可以用前驱和后继关系来描述。
5.在数据结构中,没有前驱的结点称为根结点,没有后继的结点称为终端结点(也称为叶子结点)。
数据结构中除了根结点与终端结点外的其他结点一般称为内部结点。
6.在数据结构中,结点及结点间的相互关系是数据的逻辑结构。
数据结构按逻辑关系的不同,通常可分为线性结构和非线性结构两类。
7.一个非空的数据结构满足以下两点:有且只有一个根结点;每一个结点最多有一个前驱,也最多有一个后继,则称该数据结构为线性结构,线性结构又称线性表。
线性结构与非线性结构都可以是空的数据结构,一个空的数据结构究竟属于线性结构还是非线性结构,根据具体情况来确定。
考点3:线性表及其顺序存储结构1.给定一个有n个元素的线性表,若采用顺序存储结构,则在等概率前提下,向其插入一个元素需要移动的元素个数平均为n/2。
2.在稍微复杂的线性表中,一个数据元素可以由若干个数据项组成,在这种情况下,常把数据元素称为记录。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录二级公共基础知识考纲 (1)第一章数据结构与算法 (2)第二章程序设计基础 (19)第三章软件工程基础 (23)第四章数据库设计基础 (32)全国计算机等级考试二级公共基础知识考纲考试内容一、基本数据结构与算法1.算法的基本概念;算法复杂度的概念和意义(时间复杂度与空间复杂度)。
2.数据结构的定义;数据的逻辑结构与存储结构;数据结构的图形表示;线性结构与非线性结构的概念。
3.线性表的定义;线性表的顺序存储结构及其插入与删除运算。
4.栈和队列的定义;栈和队列的顺序存储结构及其基本运算。
5.线性单链表、双向链表与循环链表的结构及其基本运算。
6.树的基本概念;二叉树的定义及其存储结构;二叉树的前序、中序和后序遍历。
7.顺序查找与二分法查找算法;基本排序算法(交换类排序,选择类排序,插入类排序)。
二、程序设计基础1.程序设计方法与风格。
2.结构化程序设计。
3.面向对象的程序设计方法,对象,方法,属性及继承与多态性。
三、软件工程基础1.软件工程基本概念,软件生命周戎概念,软件工具与软件开发环境。
2.结构化分析方法,数据流图,数据字典,软件需求规格说明书。
3.结构化设计方法,总体设计与详细设计。
4.软件测试的方法,白盒测试与黑盒测试,测试用例设计,软件测试的实施,单元测试、集成测试和系统测试。
5.程序的调试,静态调试与动态调试。
四、数据库设计基础1.数据库的基本概念:数据库,数据库管理系统,数据库系统。
2.数据模型,实体联系模型及E-R图,从E-R图导出关系数据模型。
3.关系代数运算,包括集合运算及选择、投影、连接运算,数据库规范化理论。
4.数据库设计方法和步骤:需求分析、概念设计、逻辑设计和物理设计的相关策略。
考试方式公共基础的考试方式为笔试,与C语言(V isualBASIC、V isual FoxPro、Java、Access、Visual C++)的笔试部分合为一张试卷。
公共基础部分占全卷的30分。
公共基础知识有10道选择题和5道填空题。
第一章数据结构与算法一、内容要点(一)算法1.算法的基本概念算法是指解题方案的准确而完整的描述。
即是一组严谨地定义运算顺序的规则,并且每一个规则都是有效的,且是明确的,没有二义性,同时该规则将在有限次运算后可终止。
1)算法的基本特征(1)可行性由于算法的设计是为了在某一个特定的计算工具上解决某一个实际的问题而设计的,因此,它总是受到计算工具的限制,使执行产生偏差。
如:计算机的数值有效位是有限的,当大数和小数进行运算时,往往会因为有效位数的影响而使小数丢失,因此,在算法设计时,应该考虑到这一点。
(2)确定性算法的设计必须是每一个步骤都有明确的定义,不允许有模糊的解释,也不能有多义性。
例如,一个实际的问题,小宝和萍萍共有12个苹果,小宝比萍萍多4个,请问小宝和萍萍各有几个苹果?这个问题,我们可以立一个方程组x+y=12和x-y=4来求解,要求x和y的值,公式是正确的,但如何让计算能够进行计算,我们的算法不能把公式直接输进去,而应该设计出解题的步骤和过程。
即设计的算法是计算工具所能够正常解决问题的过程。
(3)有穷性算法的有穷性,即在一定的时间是能够完成的,即算法应该在计算有限个步骤后能够正常结束。
例如,在数学中的无穷级数,在计算机中只能求有限项,即计算的过程是有穷的。
(4)拥有足够的情报算法的执行与输入的数据和提供的初始条件相关,不同的输入或初始条件会有不同的输出结果,提供准确的初始条件和数据,才能使算法正确执行。
2)算法的基本要素一是数据对象的运算和操作,二是算法的控制结构。
(1)算法中对数据的运算和操作算法实际上是按解题要求从环境能进行的所有操作中选择合适的操作所组成的一组指令序列。
即算法是计算机所能够处理的操作所组成的指令序列。
(2)算法的控制结构算法的功能不仅取决于所选用的操作,而且还与各操作之间的顺序有关。
在算法中,操作的执行顺序又称算法的控制结构,一般的算法控制结构有三种:顺序结构、选择结构和循环结构。
在算法描述是,有相关的工具对这三种结构进行描述,常用的描述工具有:流程图、N-S结构图和算法描述语言等。
3)算法设计的基本方法为用计算机解决实际问题而设计的算法,即是计算机算法。
通常的算法设计有如下几种:(1)列举法列举法的基本思想是,根据提出的问题,列举出所有可能的情况,并用问题中给定的条件检验哪些是满足条件的,哪些是不满足条件的。
列举法通常用于解决“是否存在”或“有哪些可能”等问题。
例如,我国古代的趣味数学题:“百钱买百鸡”、“鸡兔同笼”等,均可采用列举法进行解决。
使用列举法时,要对问题进行详细的分析,将与问题有关的知识条理化、完备化、系统化,从中找出规律。
(2)归纳法归纳法的基本思想是,通过列举少量的特殊情况,经过分析,最后找出一般的关系。
归纳是一种抽象,即从特殊现象中找出一般规律。
但由于在归纳法中不可能对所有的情况进行列举,因此,该方法得到的结论只是一种猜测,还需要进行证明。
(3)递推递推,即是从已知的初始条件出发,逐次推出所要求的各个中间环节和最后结果。
其中初始条件或问题本身已经给定,或是通过对问题的分析与化简而确定。
递推的本质也是一种归纳,递推关系式通常是归纳的结果。
例如,裴波那契数列,是采用递推的方法解决问题的。
(4)递归在解决一些复杂问题时,为了降低问题的复杂程序,通常是将问题逐层分解,最后归结为一些最简单的问题。
这种将问题逐层分解的过程,并没有对问题进行求解,而只是当解决了最后的问题那些最简单的问题后,再沿着原来分解的逆过程逐步进行综合,这就是递归的方法。
递归分为直接递归和间接递归两种方法。
如果一个算法直接调用自己,称为直接递归调用;如果一个算法A调用另一个算法B,而算法B又调用算法A,则此种递归称为间接递归调用。
(5)减半递推技术减半递推即将问题的规模减半,然后,重复相同的递推操作。
例如,一元二次方程的求解。
(6)回溯法有些实际的问题很难归纳出一组简单的递推公式或直观的求解步骤,也不能使用无限的列举。
对于这类问题,只能采用试探的方法,通过对问题的分析,找出解决问题的线索,然后沿着这个线索进行试探,如果试探成功,就得到问题的解,如果不成功,再逐步回退,换别的路线进行试探。
这种方法,即称为回溯法。
如人工智能中的机器人下棋。
2.算法复杂度算法的复杂度包括时间复杂度和空间复杂度。
1)时间复杂度即实现该算法需要的计算工作量。
算法的工作量用算法所执行的基本运算次数来计算。
同一个问题规模下,如果算法执行所需要的基本次数取决于某一特定输入时,可以用以下两种方法来分析算法的工作量: 算法工作量=f(n) (1)平均性态用各种特定输入下的基本运算次数的加权平均值来度量算法的工作量。
设x 是某个可能输入中的某个特定输入,p(x)是x 出现的概率,t(x)是算法在输入为x 时所执行的基本运算次数,则算法的平均性态定义为:∑∈=nD x x t x p n A )()()(D n 表示当规模为n 时,算法执行时所有可能输入的集合。
(2)最坏情况复杂度指在规模为n 时,算法所执行的基本运算的最大次数。
它定义为:)}({max )(x t n W nD x ∈=例如,在具有n 个元素的数列中搜索一个数x 。
平均性态:n q qn n q i nq t p n A ni i n i i )1(2)1()1()(111-++=-+==∑∑=+=即该数在数列中任何位置出现的数列是相同的,也有可能不存在,存在的概率为q 。
如果有一半的机会存在,则概率q 为1/2,平均性态:n n n n A 43)211(221)1()(≈-+⨯+=如果查找的元素一定在数列中,则每个数存在的概率即为1,则平均性态为:221)(n n n A ≈+=最坏情况分析:即要查找的元素X 在数列的最后或不在数列中,显然,它的最坏情况复杂度为:n n i t n W i =+≤≤=}11|max{)(2)算法的空间复杂度指要执行该算法所需要的内存空间。
算法所占用的内存空间包括算法程序所占的空间、输入的初始数据所占的存储空间以及算法执行过程中所需要的额外空间,如执行过程中工作单元以及某种数据结构所需要的附加存储空间等。
(二)数据结构的基本概念1.概念数据结构是指相互有关联的数据元素的集合。
它包括以下两个方面:●表示数据元素的信息●表示各数据之间的前后件关系1)数据的逻辑结构是指反映数据元素之间的逻辑关系的数据结构。
数据的逻辑结构有两个要素:●数据元素的集合,记作D●数据之间的前后件关系,记作R则数据结构B=(D,R)2)数据的存储结构数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构,或数据的物理结构。
即数据存储时,不仅要存放数据元素的信息,而且要存储数据元素之间的前后件关系的信息。
通常的数据存储结构有顺序、链接、索引等存储结构。
2.数据结构的图形表示数据结构的图形表示有两个元素:●中间标有元素值的方框表示数据元素,称为数据结点●用有向线段表示数据元素之间的前后件关系,即有向线段从前件结点指向后件结点注意:在结构图中,没有前件的结点称为根结点,没有后件的结点称为终端结点,也称叶子结点。
3.线性结构与非线性结构如果一个数据元素都没有,该数据结构称为空数据结构;在空数据结构中插入一个新的元素后数据结构变为非空数据结构;将数据结构中的所有元素均删除,则该数据结构变成空数据结构。
如果一个非空的数据结构满足如下条件,则该数据结构为线性结构:●有且只有一个根结点●每一个结点最多只有一个前件,也最多只有一个后件线性结构又称线性表。
注意:在线性结构表中插入或删除元素,该线性表仍然应满足线性结构。
如果一个数据结构不满足线性结构,则称为非线性结构。
(三)线性表及其顺序存储结构1.基本概念线性表是最常用的数据结构,它由一组数据元素组成。
注意:这里的数据元素是一个广义的数据元素,并不仅仅是指一个数据。
如,矩阵、学生记录表等。
非空线性表的结构特征:●有且只有一个根结点,它无前件●有且只有一个终端结点,它无后件●除根结点和终端结点之外,所有的结点有且只有一个前件和一个后件。
线性表中结点的个数称为结点的长度n。
当n=0时,称为空表。
2.顺序存储结构顺序存储结构的特点:●线性表中所有的元素所占的存储空间是连续的●线性表中各数据元素在存储空间中是按逻辑顺序依次存放的通常,顺序存储结构中,线性表中每一个数据元素在计算机存储空间中的存储地址由该元素在线性表中的位置序号唯一确定。
线性表的顺序存储结构下的基本运算:●在指定位置插入一个元素●删除线性表中的指定元素●查找某个或某些特定的元素●线性表的排序●按要求将一个线性表拆分为多个线性表●将多个线性表合并为一个线性表●复制线性表●逆转一个线性表3.线性表的基本操作1)顺序表的插入运算在顺序存储结构的线性表中插入一个元素。