全国计算机等级考试二级公共基础知识复习资料
- 格式:doc
- 大小:31.50 KB
- 文档页数:19
全国计算机二级公共基础知识一、数据结构与算法数据结构指的是数据之间的相互关系,即数据的组织形式。
数据结构用来反映一个数据的内部构成,即一个数据由哪些成分构成、以什么方式构成、呈现什么样的结构。
数据结构有逻辑上的数据结构和物理上的数据结构之分。
逻辑上的数据结构反映数据之间的逻辑关系,而物理上的数据结构反映数据在计算机内部的存储安排.数据结构是数据存在的形式。
算法是解题的步骤,是指令的有限序列。
它们规定了解决某一特定类型问题的一系列运算,是对解题方案的准确与完整的描述。
一个问题的解决方案要以算法为基础。
1。
1 概念介绍◆算法的时间复杂度:算法的时间复杂度是指执行算法所需要的计算工作量。
算法的工作量用算法所执行的基本运算次数来度量,而算法所执行的基本运算次数是问题规模的函数,即算法的工作量=f(n)其中n是问题的规模.例如,两个n阶矩阵相乘所需要的基本运算(即两个实数的乘法)次数为n3,即计算工作量为n3,也就是时间复杂度为n3。
◆算法的空间复杂度:算法的空间复杂度一般是指执行这个算法所需要的内存空间。
◆数据的逻辑结构数据元素相互之间的关系,称为结构.数据的逻辑结构:是指反映数据元素之间逻辑关系的数据结构。
◆数据的存储结构数据的存储结构:是数据的逻辑结构在计算机存储空间中的存放形式。
也称数据的物理结构。
各数据元素在计算机存储空间中的位置关系与它们的逻辑关系不一定是相同的.同一种数据的逻辑结构可以根据需要表示成任意一种或几种不同的存储结构.数据的顺序存储方式:是将逻辑上相邻的结点存储在物理位置上亦相邻的存储单元里。
也就是将所有存储结点相继存入在一个连续相邻的存储区里.数据的链式存储方式:是在存储每个结点信息的同时,增加一个指针来表示结点间的逻辑关系.该方式不要求逻辑上相邻结点在物理位置上亦相邻,结点间的逻辑关系是由附加的指针字段表示的。
因此,链式存储结构中的每个结点都由两部分组成:一部分用于存储结点本身的信息,称为数据域;另一部分用于存储该结点的后继结点(或前驱结点)的存储单元地址,称为指针域。
全国计算机二级公共基础知识汇总计算机二级公共基础知识是指计算机技术基础知识和应用能力的考核指标,主要包括计算机硬件知识、操作系统知识、计算机网络知识和应用软件知识等多个方面。
下面是对这些知识的详细汇总。
一、计算机硬件知识1.计算机硬件组成:CPU、内存、硬盘、显示器、键盘、鼠标等。
2.计算机的基本原理:二进制原理、信息表示与处理、逻辑门电路等。
3.中央处理器(CPU):主频、Cache、指令集、微架构等。
4.内存:主存和辅存的区别、存储器的层次结构、内存管理等。
5.硬盘:磁盘的组成、磁头的读写过程、磁盘的分区与格式化等。
6.显示器:分辨率、刷新率、色彩深度、投影仪等。
7.输入输出设备:键盘、鼠标、打印机、扫描仪、摄像头等。
8.扩展设备:声卡、显卡、网卡、USB接口等。
二、操作系统知识1.操作系统的功能和分类:任务管理、文件管理、内存管理、设备管理等。
2.Windows操作系统:常见的Windows版本、桌面环境、文件系统、任务管理等。
3.Linux操作系统:常见的Linux发行版、命令行界面、文件系统、用户管理等。
4.进程管理:进程的概念、进程调度、进程同步与互斥等。
5.线程管理:线程的概念、线程与进程的区别、线程同步与互斥等。
6.文件管理:文件的操作、文件的属性、文件系统的结构等。
7.输入输出管理:设备的管理、设备驱动程序、中断和DMA等。
8.网络管理:网络的概念、协议栈、IP地址、路由等。
三、计算机网络知识1.网络的分类:局域网、广域网、互联网、因特网等。
2.数据通信和网络协议:数据的发送和接收、分组交换、网络协议的分层等。
3.网络体系结构:TCP/IP体系结构、OSI参考模型等。
4.网络通信设备:路由器、交换机、集线器、网卡等。
5.网络地址:IP地址、子网掩码、默认网关、DNS等。
6.网络安全:网络攻击与防范、防火墙、VPN等。
7.网络应用:常用的网络服务和应用协议、浏览器、电子邮件等。
8.网络管理:网络配置、故障排除、网络性能监测等。
计算机二级公共基础常见知识1.计算机硬件-CPU(中央处理器):计算机的核心部件,负责执行指令和处理数据。
-内存:临时存储计算机运行时所需要的数据和指令。
-硬盘:长期存储数据的设备。
-显示器:用于显示计算机的输出结果。
-键盘和鼠标:输入设备,用于输入指令和数据。
-主板:将各个硬件组件连接在一起的电路板。
2.计算机软件-操作系统:控制和管理计算机硬件和软件资源的程序。
-应用程序:用来完成特定任务的软件,如办公软件、图像处理软件等。
- 编程语言:一种用于编写计算机程序的语言,如C、Python等。
3.计算机网络-互联网:全球范围内的计算机网络系统。
-局域网:在同一地区内互连的计算机网络。
-IP地址:互联网协议地址,用于标识计算机的唯一标识符。
4.数据结构-数组:一种线性数据结构,用于存储相同类型的数据。
-链表:一种非连续的数据结构,由一组节点组成。
-栈:一种先进后出的数据结构。
-队列:一种先进先出的数据结构。
-树:一种非线性的数据结构,由节点和边组成。
5.数据库- 关系数据库:使用表格来组织和管理数据的数据库系统,如MySQL、Oracle等。
-SQL(结构化查询语言):用于与关系数据库进行通信和操作的语言。
-数据库管理系统(DBMS):用于管理和操作数据库的软件。
6.算法和数据处理-排序算法:如冒泡排序、插入排序、选择排序等。
-查找算法:如线性查找、二分查找等。
-数据压缩:用于减小数据存储空间和传输带宽的技术。
-数据加密:用于保护数据安全的技术。
7.操作系统- Windows:微软推出的操作系统。
- Linux:一种开源的操作系统。
- macOS:苹果公司的操作系统。
8.办公软件- Microsoft Office:包括Word、Excel、PowerPoint等应用程序。
- WPS Office:金山软件开发的办公软件套装。
9.图像处理- Photoshop:Adobe公司开发的图像处理软件。
-GIMP:一种开源的免费图像处理软件。
全国计算机二级公共基础知识汇总计算机二级公共基础知识是计算机专业人员必备的基本知识,包括计算机基本原理、操作系统、网络原理、数据库原理和计算机应用等方面的知识。
下面是全国计算机二级公共基础知识的完整汇总。
一、计算机基本原理:计算机硬件的组成和工作原理,包括中央处理器、存储器、输入输出设备等。
1.中央处理器:控制计算机的运算和控制活动,包括运算单元和控制单元。
2.存储器:计算机的主要组成部分,包括内存和外存。
3.输入输出设备:与计算机进行交互的设备,包括键盘、鼠标、显示器、打印机等。
二、操作系统:计算机的核心软件,负责管理和控制计算机的资源。
1.操作系统的功能:包括进程管理、内存管理、文件管理、设备管理和用户界面等。
2. 常见的操作系统:Windows、Linux、Unix等。
三、网络原理:计算机网络的基本原理和常用协议,包括网络拓扑、网络协议和安全性等。
1.网络拓扑:指网络中计算机的物理连接方式,包括星型、总线型、环型等。
2.网络协议:指计算机网络中不同计算机之间通信的规则和约定,常见的协议有TCP/IP、HTTP、FTP等。
3.网络安全性:指保护计算机网络不受到非法侵入和攻击的能力,包括防火墙、加密技术等。
四、数据库原理:数据库的基本原理和常用操作,包括数据模型、关系数据库和SQL语言等。
1.数据模型:指描述数据结构、数据操作和数据约束的概念工具,常见的数据模型有层次模型、网状模型和关系模型等。
2. 关系数据库:采用关系模型进行数据组织和管理的数据库,常见的关系数据库有Oracle、MySQL、SQL Server等。
3.SQL语言:结构化查询语言,用于对关系数据库进行查询、更新和管理。
五、计算机应用:计算机在不同领域应用的基本知识,包括办公软件、图像处理、网页设计等。
1.办公软件:包括文字处理、电子表格和演示文稿等。
3. 网页设计:指网页的布局、设计和开发,需要掌握HTML、CSS和JavaScript等技术。
第一章数据结构及算法经过对部分考生的调查以及对近年真题的总结分析,笔试部分常常考查的是算法困难度, 数据结构的概念, 栈, 二叉树的遍历, 二分法查找,读者应对此部分进行重点学习。
具体重点学习知识点:1.算法的概念, 算法时间困难度及空间困难度的概念2.数据结构的定义, 数据逻辑结构及物理结构的定义3.栈的定义及其运算, 线性链表的存储方式4.树及二叉树的概念, 二叉树的基本性质, 完全二叉树的概念, 二叉树的遍历5.二分查找法6.冒泡排序法1.1算法考点1 算法的基本概念考试链接:考点1在笔试考试中考核的几率为30%,主要是以填空题的形式出现,分值为2分,此考点为识记内容,读者还应当了解算法中对数据的基本运算。
计算机解题的过程事实上是在实施某种算法,这种算法称为计算机算法。
1.算法的基本特征:可行性, 确定性, 有穷性, 拥有足够的情报。
2.算法的基本要素:(1)算法中对数据的运算和操作一个算法由两种基本要素组成:一是对数据对象的运算和操作;二是算法的限制结构。
在一般的计算机系统中,基本的运算和操作有以下4类:算术运算, 逻辑运算, 关系运算和数据传输。
(2)算法的限制结构:算法中各操作之间的执行依次称为算法的限制结构。
描述算法的工具通常有传统流程图, N-S结构化流程图, 算法描述语言等。
一个算法一般都可以用依次, 选择, 循环3种基本限制结构组合而成。
考点2 算法困难度考试链接:考点2在笔试考试中,是一个常常考查的内容,在笔试考试中出现的几率为70%,主要是以选择的形式出现,分值为2分,此考点为重点识记内容,读者还应当识记算法时间困难度及空间困难度的概念。
1.算法的时间困难度算法的时间困难度是指执行算法所须要的计算工作量。
同一个算法用不同的语言实现,或者用不同的编译程序进行编译,或者在不同的计算机上运行,效率均不同。
这表明运用肯定的时间单位衡量算法的效率是不合适的。
撇开这些及计算机硬件, 软件有关的因素,可以认为一个特定算法"运行工作量"的大小,只依靠于问题的规模(通常用整数n表示),它是问题规模的函数。
计算机二级考试公共基础知识是计算机二级考试的一部分,主要考察考生对计算机基础知识的掌握情况,下面是一些常见的考点和知识点:
1. 计算机基础知识:包括计算机的硬件组成、计算机的工作原理、操作系统的基本概念、常见的应用软件以及网络基础知识等方面的内容。
2. 计算机操作系统:包括常见的计算机操作系统和其特点、操作系统的安装和配置以及文件管理、进程管理、内存管理等方面的内容。
3. 网络基础知识:包括计算机网络的基本概念、网络拓扑结构、常用网络协议、IP地址的分类和子网划分、TCP/IP协议的基本原理以及网络安全等方面的内容。
4. 数据库基础知识:包括数据模型的基本概念、关系模型、SQL语言的基本语法、数据库的设计与实现以及数据备份与恢复等方面的内容。
5. 程序设计基础知识:包括常见的编程语言、程序设计的基本思路与方法、程序设计的基本流程以及程序的调试和测试
等方面的内容。
6. 办公自动化软件:包括文字处理软件、电子表格软件和演示文稿软件的基本概念、常用功能和使用方法。
7. 计算机安全基础知识:包括计算机病毒的种类和防范方法、网络攻击的方式和防范方法、数据安全和隐私保护等方面的内容。
以上仅是计算机二级考试公共基础知识的一些常见考点和知识要点,实际考试中还可能涉及其他方面的内容。
考生在备考时应该根据具体情况,选择适合自己的学习和练习方式,并且要多做真题和模拟题,加强对知识点的掌握和理解,提高考试的准确性和速度。
二级计算机公共基础知识1. 计算机硬件基础
- 计算机硬件组成
- 的工作原理
- 内存的种类和作用
- 存储设备的种类和特点
- 输入输出设备的种类和功能
2. 操作系统基础
- 操作系统的概念和作用
- 操作系统的主要功能
- 常见操作系统的种类
- 文件管理和磁盘管理
- 进程和线程管理
3. 网络基础
- 计算机网络的概念和分类
- 网络拓扑结构
- 网络协议和网络模型
- 互联网的工作原理
- 网络安全和加密技术
4. 数据库基础
- 数据库的概念和作用
- 数据库管理系统的种类 - 数据库设计和规范化
- 语言基础
- 数据库安全和备份
5. 算法和数据结构
- 算法的概念和特性
- 常见算法的分析和设计 - 数据结构的种类和应用 - 算法复杂度分析
- 递归和动态规划
6. 程序设计基础
- 程序设计语言的种类
- 程序设计基本概念
- 程序设计流程控制
- 函数和模块化编程
- 面向对象程序设计
7. 信息安全基础
- 信息安全的概念和重要性 - 密码学基础
- 访问控制和身份认证
- 恶意软件和防御措施
- 网络安全和防火墙
以上内容涵盖了二级计算机公共基础知识的主要方面,可以作为学习和复习的参考。
第一部分公共基础知识第1章数据结构与算法1.1算法1.算法的基本概念(1)概念:算法是指一系列解决问题的清晰指令。
(2)4个基本特征:可行性、确定性、有穷性、拥有足够的情报。
(3)两种基本要素:对数据对象的运算和操作、算法的控制结构(运算和操作时间的顺序)。
(4)设计的基本方法:列举法、归纳法、递推法、递归法、减半递推技术和回溯法。
2.算法的复杂度(1)算法的时间复杂度:执行算法所需要的计算工作量。
(2)算法的空间复杂度:执行算法所需的内存空间。
1.2数据结构的基本概念数据结构指相互有关联的数据元素的集合,即数据的组织形式。
其中逻辑结构反映数据元素之间逻辑关系;存储结构为数据的逻辑结构在计算机存储空间中的存放形式,有顺序存储、链式存储、索引存储和散列存储4种方式。
数据结构按各元素之间前后件关系的复杂度可划分为:(1)线性结构:有且只有一个根节点,且每个节点最多有一个直接前驱和一个直接后继的非空数据结构。
(2)非线性结构:不满足线性结构的数据结构。
1.3线性表及其顺序存储结构1.线性表的基本概念线性结构又称线性表,线性表是最简单也是最常用的一种数据结构。
2.线性表的顺序存储结构·元素所占的存储空间必须连续。
·元素在存储空凤的位置是按逻辑顺序存放的。
3.线性表的插入运算在第i个元素之前插入一个新元素的步骤如下:步骤一:把原来第n个节点至第i个节点依次往后移一个元素位置。
步骤二:把新节点放在第i个位置上。
步骤三:修正线性表的节点个数。
在最坏情况下,即插入元素在第一个位置,线性表中所有元素均需要移动。
4.线性表的删除运算删除第i个位置的元素的步骤如下:步骤一:把第i个元素之后不包括第i个元素的n—i个元素依次前移一个位置;步骤二:修正线性表的结点个数。
1.4栈和队列1.栈及其基本运算(1)基本概念:栈是一种特殊的线性表,其插入运算与删除运算都只在线性表的一端进行,也被称为“先进后出”表或“后进先出”表。
全国计算机等级考试二级教程——公共基础知识一、操作系统基础知识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.请简述关系数据库的特点和优点。
关系数据库是一种以关系为基础的数据模型。
它的特点包括数据的结构化、数据间的关系建立、数据的操作和约束等。
关系数据库的优点是数据的一致性、数据的可扩展性、数据的安全性和数据的完整性。
全国计算机等级(二级)考试公共基础知识部分目录第一章数据结构与算法┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈1 1.1 算法┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈11.1.1 算法的基本概念┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈11.1.2 算法复杂度┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈1 1.2 数据结构的基本概念┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈21.2.1 数据结构的基本概念┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈21.2.2 数据结构的图形表示┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈31.2.3 线性结构与非线性结构┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈3 1.3 线性表的顺序存储结构┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈4 1.4 栈和队列┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈41.4.1 栈及其基本运算┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈41.4.2 队列及其基本运算┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈5 1.5 线性链表┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈61.5.1 线性链表的基本概念┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈61.5.2 线性表的顺序结构与链式结构的比较┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈7 1.6 树与二叉树┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈71.6.1 树的基本概念┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈71.6.2 二叉树及其基本性质┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈81.6.3 二叉树的存储结构┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈101.6.4 二叉树的遍历┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈10 1.7 查找技术┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈11 1.8 排序技术┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈111.8.1 交换类排序法┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈111.8.2 插入类排序法┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈121.8.3 选择类排序法┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈13 习题1 ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈13 第二章程序设计基础┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈152.1 程序设计方法与风格┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈15 2.2 结构化程序设计┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈16 2.3 面向对象的程序设计┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈162.3.1 关于面向对象方法┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈162.3.2 面向对象方法的基本概念┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈17 习题2 ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈18 第三章软件工程基础┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈20 3.1 软件工程基本概念┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈203.1.1 软件定义与软件特点┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈203.1.2 软件危机与软件工程┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈203.1.3 软件生命周期┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈21 3.2 结构化分析方法┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈213.2.1 需求分析与需求分析方法┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈21II 目录3.2.2 结构化分析方法┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈223.3 结构化设计方法┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈23 3.3.1 软件设计的基本概念┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈233.3.2 概要设计┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈233.3.3 详细设计┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈243.4 软件测试┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈243.4.1 软件测试的基本概念┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈243.4.2 软件测试的准则┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈243.4.3 软件测试方法┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈253.4.4 软件测试的实施┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈253.5 程序调试┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈26习题3 ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈26 第四章数据库设计基础┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈274.1 数据库系统的基本概念┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈274.1.1 关于数据库系统的基本概念┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈274.1.2 数据库系统的基本概念┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈284.1.3 数据库系统的内部体系结构┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈294.2 数据模型┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈304.2.1 数据模型的基本概念┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈304.2.2 E-R模型┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈304.2.3 层次模型┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈334.2.4 网状模型┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈334.2.5 关系模型┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈334.3 关系代数┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈354.4 数据库设计与管理┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈374.4.1 数据库设计概述┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈374.4.2 数据库设计的需求分析┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈384.4.3 数据库的概念设计┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈384.4.4 数据库的逻辑设计┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈394.4.5 数据库的物理设计┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈39习题4 ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈39第一章数据结构与算法﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌1.1 算法1.1.1 算法的基本概念所谓算法是指解题方案的准确而完整的描述。
计算机等级考试二级公共基础知识第1章数据结构与算法1.1 算法1.1.1 算法的基本概念算法是指对解题方案的准确而完整的描述。
简单地说,就是解决问题的操作步骤。
值得注意的是,算法不等于数学上的计算方法,也不等于程序。
在用计算机解决实际问题时,往往先设计算法,用某种表达方式(如流程图)描述,然后再用具体的程序设计语言描述此算法(即编程)。
在编程时由于要受到计算机系统运行环境的限制,因此,程序的编制通常不可能优于算法的设计。
1.1.1.1 算法的基本特征一般来说,一个算法应具有以下4个基本特征。
(1)可行性(Effectiveness):算法在特定的执行环境中执行,应当能够得出满意的结果,即必须有一个或多个输出。
(2)确定性(Definiteness):算法中的每一个步骤都必须有明确的定义,不允许有模棱两可的解释和多义性。
(3)有穷性(Finiteness):算法必需在有限时间内做完,即算法必需能在执行有限个步骤之后终止。
(4)拥有足够的情报:要使算法有效必需为算法提供足够的情报。
当算法拥有足够的情报时,此算法才是有效的;而当提供的情报不够时,算法可能无效。
1.1.1.2 算法的基本要素通常,一个算法由两种基本要素组成。
● 对数据对象的运算和操作;● 算法的控制结构,即运算或操作时间的顺序。
(1)算法中对数据的运算和操作在一般的计算机系统中,基本的运算和操作有以下4类,如表1-1所示。
(2一个算法的功能不仅仅取决于所选用的操作,而且还与各操作之间的执行顺序有关。
算法中各操作之间的执行顺序称为算法的控制结构。
算法的控制结构给出了算法的基本框架,它不仅决定了算法中各操作的执行顺序,而且也直接反映了算法的设计是否符合结构化原则。
描述算法的工具通常有传统流程图、N-S结构化流程图、算法描述语言等。
一个算法一般都可以用顺序、选择、循环3种基本控制结构组合而成。
1.1.1.3 算法设计的基本方法虽然设计算法是一件非常困难的工作,但是算法设计也不是无章可循,人们经过实践,总结和积累了许多行之有效的方法。
计算机2级公共基础知识一、计算机硬件与软件1.计算机硬件:计算机硬件是指计算机的物理组成部分,包括中央处理器(CPU)、内存、硬盘、显示器、键盘、鼠标等。
其中,中央处理器是计算机的大脑,负责处理计算机的指令和数据。
2.计算机软件:计算机软件是指运行在计算机上的程序和数据,包括系统软件和应用软件。
系统软件是管理和控制计算机硬件资源的程序,如操作系统和驱动程序;应用软件是根据用户需求完成特定任务的程序,如办公软件、图像处理软件等。
二、操作系统1. 操作系统的概念:操作系统是计算机系统的核心软件,负责管理和控制计算机硬件和软件资源,提供用户与计算机硬件之间的接口。
常见的操作系统包括Windows、Mac OS、Linux等。
2.操作系统的功能:操作系统的基本功能包括进程管理、内存管理、文件管理和设备管理。
进程管理负责分配和控制计算机的处理器资源;内存管理负责管理计算机的内存资源;文件管理负责管理计算机的存储设备上的文件;设备管理负责管理计算机的输入输出设备。
三、计算机网络1.计算机网络的概念:计算机网络是将多台计算机通过通信线路连接起来,实现信息交流和资源共享的系统。
常见的计算机网络包括局域网、广域网和因特网等。
2.网络协议:网络协议是计算机网络中用于数据传输的规则和约定。
常见的网络协议包括TCP/IP协议、HTTP协议、FTP协议等。
3.IP地址与子网掩码:IP地址是计算机在网络上的唯一标识,由32位二进制数表示。
子网掩码用于划分IP地址的网络部分和主机部分。
四、数据库管理系统1. 数据库的概念:数据库是存储和组织数据的仓库,可以高效地存储、管理和检索大量的数据。
常见的关系型数据库有Oracle、MySQL、SQL Server等。
2. 数据库管理系统(DBMS):数据库管理系统是用于管理数据库的软件,提供对数据库的访问和操作。
常见的数据库管理系统有Oracle DBMS、MySQL DBMS等。
3. SQL语言:SQL(Structured Query Language)是用于操作关系数据库的标准化查询语言。
计算机二级公共基础知识计算机二级公共基础知识是计算机专业考试中的重要组成部分,它涵盖了计算机的基本概念、硬件、软件、网络以及数据结构等方面的知识。
以下是关于计算机二级公共基础知识的一些要点,以及相应的试题和答案。
# 计算机二级公共基础知识要点1. 计算机系统概述:- 计算机的发展历程- 计算机的分类与应用领域2. 计算机硬件组成:- 中央处理单元(CPU)- 存储器:RAM、ROM、硬盘、固态硬盘等- 输入输出设备:键盘、鼠标、显示器、打印机等3. 计算机软件组成:- 操作系统:Windows、Linux、MacOS等- 应用软件:办公软件、图形设计软件、编程软件等4. 计算机网络基础:- 网络拓扑结构- 网络协议:TCP/IP、HTTP、FTP等- 网络安全:防火墙、加密技术等5. 数据结构与算法:- 线性数据结构:数组、链表、栈、队列- 非线性数据结构:树、图- 常用算法:排序、搜索、递归等6. 数据库基础:- 数据库管理系统:SQL、NoSQL- 数据库设计:ER图、规范化理论- SQL语言基础:数据查询、更新、插入、删除# 试题1. 计算机硬件中,负责执行程序指令的部件是()。
A. 存储器B. 中央处理单元(CPU)C. 输入设备D. 输出设备2. 操作系统的主要功能是()。
A. 存储数据B. 管理计算机硬件资源C. 执行应用程序D. 网络通信3. 在计算机网络中,用于传输控制信息的协议是()。
A. HTTPB. FTPC. TCPD. UDP4. 数据结构中的栈是一种()。
A. 线性结构B. 非线性结构C. 有序结构D. 无序结构5. SQL语言用于()。
A. 编写程序B. 数据库设计C. 数据库查询和操作D. 网络编程# 答案1. 答案:B. 中央处理单元(CPU)2. 答案:B. 管理计算机硬件资源3. 答案:C. TCP4. 答案:A. 线性结构5. 答案:C. 数据库查询和操作# 结束语计算机二级公共基础知识是计算机专业学生和从业人员必须掌握的知识点。
全国计算机等级考试二级公共基础知识–复习提纲1. 计算机组成原理1.计算机的基本组成部分2.冯诺伊曼结构的基本原理3.存储器的基本原理4.中央处理器的基本功能和构成原理5.输入输出设备的基本原理2. 计算机网络基础知识1.计算机网络的基本概念2.计算机网络的组成部分和功能3.网络基本拓扑结构4.互联网与局域网的基本原理和特点5.网络协议和服务的概念和作用3. 操作系统基础知识1.操作系统的概念和功能2.操作系统的分类和特点3.进程和线程的基本概念4.内存管理和文件系统的基本原理5.操作系统的安全性和稳定性4. 数据库基础知识1.数据库的基本概念和组成部分2.数据库管理系统的基本功能和作用3.关系数据库的概念和基本操作4.数据库查询语言的基本语句5.数据库设计基础知识5. 软件工程基础知识1.软件工程的概念和基本原则2.软件开发生命周期和流程3.软件需求分析和规格说明书4.软件设计和编码规范5.软件测试和维护的基本原则6. 多媒体技术基础知识1.多媒体的基本概念和分类2.多媒体数据表示和处理的基本原理3.图形图像处理和显示技术4.音频处理和播放技术5.视频处理和播放技术7. 算法与数据结构基础知识1.算法的基本概念和要素2.常见算法和数据结构的基本实现方法3.排序和检索算法的基本原理和性能比较4.图论和动态规划算法的基本原理5.算法设计的方法和策略8. 计算机安全基础知识1.计算机安全的基本概念和安全需求2.计算机系统的安全性和攻击方式3.计算机网络安全的基本原理和防范措施4.数据加密和数字签名的基本原理和应用5.信息安全管理和法律规定以上内容为全国计算机等级考试二级公共基础知识的复习提纲,希望大家能够在备考过程中合理安排时间,认真复习,取得优异的成绩。
全国计算机二级公共基础知识点整理一、计算机基本操作与管理1. 计算机系统组成及基本原理2. 计算机硬件设备及其功能3. 操作系统及其常用功能4. 常见办公软件的使用与操作5. 网络基础知识及网络应用二、计算机网络与网络应用1. 网络概述及基本概念2. 网络通信协议与技术3. 互联网应用与网络安全4. 局域网和广域网的搭建与管理5. 常用网络设备的配置与管理三、多媒体技术与应用1. 图形图像处理基础2. 声音与视频处理技术3. 多媒体技术的应用与开发4. 数字媒体的存储与传输5. 常用多媒体软件的使用与操作四、数据库与数据管理1. 数据库基本概念及模型2. 数据库的设计与管理3. 数据库查询与应用4. 数据库安全与备份5. 数据库管理工具的使用与操作五、计算机程序设计基础1. 程序设计基本概念与方法2. 常见编程语言及其特点3. 程序开发环境与工具4. 程序流程控制与函数调用5. 程序调试与错误处理六、信息系统基础知识1. 信息系统的基本概念与结构2. 信息系统分析与设计方法3. 信息系统的开发与维护4. 信息系统的安全与管理5. 信息系统的应用与发展趋势七、办公自动化与信息处理1. 办公自动化系统与应用2. 电子邮件与办公信息管理3. 文档处理与信息发布4. 数据处理与统计分析5. 信息的获取与利用八、计算机硬件与操作系统1. 计算机硬件的基本组成与功能2. 计算机操作系统的基本原理3. 操作系统的安装与配置4. 硬件设备的安装与维护5. 硬件设备的故障排除与修复九、信息安全与网络管理1. 信息安全的基本概念与原理2. 网络安全技术与措施3. 网络管理与维护4. 网络故障排除与修复5. 网络性能优化与提升十、计算机应用基础知识1. 计算机应用的基本概念与特点2. 常用办公软件的功能与应用3. 图像处理软件的功能与应用4. 数据库管理软件的功能与应用5. 网络应用软件的功能与应用十一、软件开发与应用1. 软件开发的基本流程与方法2. 常见软件开发语言与工具3. 软件测试与调试技术4. 软件项目管理与开发流程5. 软件应用与维护以上是全国计算机二级公共基础知识点的整理,涵盖了计算机基本操作与管理、计算机网络与网络应用、多媒体技术与应用、数据库与数据管理、计算机程序设计基础、信息系统基础知识、办公自动化与信息处理、计算机硬件与操作系统、信息安全与网络管理、计算机应用基础知识、软件开发与应用等方面的知识点。
第一章数据结构与算法1.1 算法算法:是指解题方案的准确而完整的描述。
算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。
算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。
特征包括:(1)可行性;(2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性;(3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义;(4)拥有足够的情报。
算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构。
指令系统:一个计算机系统能执行的所有指令的集合。
基本运算包括:算术运算、逻辑运算、关系运算、数据传输。
算法的控制结构:顺序结构、选择结构、循环结构。
算法基本设计方法:列举法、归纳法、递推、递归、减斗递推技术、回溯法。
算法复杂度:算法时间复杂度和算法空间复杂度。
算法时间复杂度是指执行算法所需要的计算工作量。
算法空间复杂度是指执行这个算法所需要的内存空间。
1.2 数据结构的基本基本概念数据结构研究的三个方面:(1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构;(2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构;(3)对各种数据结构进行的运算。
数据结构是指相互有关联的数据元素的集合。
数据的逻辑结构包含:(1)表示数据元素的信息;(2)表示各数据元素之间的前后件关系。
数据的存储结构有顺序、链接、索引等。
线性结构条件:(1)有且只有一个根结点;(2)每一个结点最多有一个前件,也最多有一个后件。
非线性结构:不满足线性结构条件的数据结构。
1.3 线性表及其顺序存储结构线性表是由一组数据元素构成,数据元素的位置只取决于自己的序号,元素之间的相对位置是线性的。
在复杂线性表中,由若干项数据元素组成的数据元素称为记录,而由多个记录构成的线性表又称为文件。
第一章数据结构与算法经过对部分考生的调查以及对近年真题的总结分析,笔试部分经常考查的是算法复杂度、数据结构的概念、栈、二叉树的遍历、二分法查找,读者应对此部分进行重点学习。
详细重点学习知识点:1.算法的概念、算法时间复杂度及空间复杂度的概念2.数据结构的定义、数据逻辑结构及物理结构的定义3.栈的定义及其运算、线性链表的存储方式4.树与二叉树的概念、二叉树的基本性质、完全二叉树的概念、二叉树的遍历5.二分查找法6.冒泡排序法1.1算法考点1 算法的基本概念考试链接:考点1在笔试考试中考核的几率为30%,主要是以填空题的形式出现,分值为2分,此考点为识记内容,读者还应该了解算法中对数据的基本运算。
计算机解题的过程实际上是在实施某种算法,这种算法称为计算机算法。
1.算法的基本特征:可行性、确定性、有穷性、拥有足够的情报。
2.算法的基本要素:(1)算法中对数据的运算和操作一个算法由两种基本要素组成:一是对数据对象的运算和操作;二是算法的控制结构。
在一般的计算机系统中,基本的运算和操作有以下4类:算术运算、逻辑运算、关系运算和数据传输。
(2)算法的控制结构:算法中各操作之间的执行顺序称为算法的控制结构。
描述算法的工具通常有传统流程图、N-S结构化流程图、算法描述语言等。
一个算法一般都可以用顺序、选择、循环3种基本控制结构组合而成。
考点2 算法复杂度考试链接:考点2在笔试考试中,是一个经常考查的内容,在笔试考试中出现的几率为70%,主要是以选择的形式出现,分值为2分,此考点为重点识记内容,读者还应该识记算法时间复杂度及空间复杂度的概念。
1.算法的时间复杂度算法的时间复杂度是指执行算法所需要的计算工作量。
同一个算法用不同的语言实现,或者用不同的编译程序进行编译,或者在不同的计算机上运行,效率均不同。
这表明使用绝对的时间单位衡量算法的效率是不合适的。
撇开这些与计算机硬件、软件有关的因素,可以认为一个特定算法"运行工作量"的大小,只依赖于问题的规模(通常用整数n表示),它是问题规模的函数。
第一章数据结构与算法1.1 算法算法:是指解题方案的准确而完整的描述。
算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。
算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。
特征包括:(1)可行性;(2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性;(3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义;(4)拥有足够的情报。
算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构。
指令系统:一个计算机系统能执行的所有指令的集合。
基本运算包括:算术运算、逻辑运算、关系运算、数据传输。
算法的控制结构:顺序结构、选择结构、循环结构。
算法基本设计方法:列举法、归纳法、递推、递归、减斗递推技术、回溯法。
算法复杂度:算法时间复杂度和算法空间复杂度。
算法时间复杂度是指执行算法所需要的计算工作量。
算法空间复杂度是指执行这个算法所需要的内存空间。
1.2 数据结构的基本基本概念数据结构研究的三个方面:(1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构;(2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构;(3)对各种数据结构进行的运算。
数据结构是指相互有关联的数据元素的集合。
数据的逻辑结构包含:(1)表示数据元素的信息;(2)表示各数据元素之间的前后件关系。
数据的存储结构有顺序、链接、索引等。
线性结构条件:(1)有且只有一个根结点;(2)每一个结点最多有一个前件,也最多有一个后件。
非线性结构:不满足线性结构条件的数据结构。
1.3 线性表及其顺序存储结构线性表是由一组数据元素构成,数据元素的位置只取决于自己的序号,元素之间的相对位置是线性的。
在复杂线性表中,由若干项数据元素组成的数据元素称为记录,而由多个记录构成的线性表又称为文件。
非空线性表的结构特征:(1)且只有一个根结点a1,它无前件;(2)有且只有一个终端结点,它无后件;(3)除根结点与终端结点外,其他所有结点有且只有一个前件,也有且只有一个后件。
结点个数n称为线性表的长度,当0时,称为空表。
线性表的顺序存储结构具有以下两个基本特点:(1)线性表中所有元素的所占的存储空间是连续的;(2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。
的存储地址为:()(a1)+(1)k,,(a1)为第一个元素的地址,k代表每个元素占的字节数。
顺序表的运算:插入、删除。
(详见1416页)1.4 栈和队列栈是限定在一端进行插入与删除的线性表,允许插入与删除的一端称为栈顶,不允许插入与删除的另一端称为栈底。
栈按照“先进后出”()或“后进先出”()组织数据,栈具有记忆作用。
用表示栈顶位置,用表示栈底。
栈的基本运算:(1)插入元素称为入栈运算;(2)删除元素称为退栈运算;(3)读栈顶元素是将栈顶元素赋给一个指定的变量,此时指针无变化。
队列是指允许在一端(队尾)进入插入,而在另一端(队头)进行删除的线性表。
指针指向队尾,指针指向队头。
队列是“先进行出”()或“后进后出”()的线性表。
队列运算包括(1)入队运算:从队尾插入一个元素;(2)退队运算:从队头删除一个元素。
循环队列:0表示队列空,1且表示队列满1.5 线性链表数据结构中的每一个结点对应于一个存储单元,这种存储单元称为存储结点,简称结点。
结点由两部分组成:(1)用于存储数据元素值,称为数据域;(2)用于存放指针,称为指针域,用于指向前一个或后一个结点。
在链式存储结构中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的。
链式存储方式即可用于表示线性结构,也可用于表示非线性结构。
线性链表,称为头指针,(或0)称为空表,如果是两指针:左指针()指向前件结点,右指针()指向后件结点。
线性链表的基本运算:查找、插入、删除。
1.6 树与二叉树树是一种简单的非线性结构,所有元素之间具有明显的层次特性。
在树结构中,每一个结点只有一个前件,称为父结点,没有前件的结点只有一个,称为树的根结点,简称树的根。
每一个结点可以有多个后件,称为该结点的子结点。
没有后件的结点称为叶子结点。
在树结构中,一个结点所拥有的后件的个数称为该结点的度,所有结点中最大的度称为树的度。
树的最大层次称为树的深度。
二叉树的特点:(1)非空二叉树只有一个根结点;(2)每一个结点最多有两棵子树,且分别称为该结点的左子树与右子树。
二叉树的基本性质:(1)在二叉树的第k层上,最多有21(k≥1)个结点;(2)深度为m的二叉树最多有21个结点;(3)度为0的结点(即叶子结点)总是比度为2的结点多一个;(4)具有n个结点的二叉树,其深度至少为[2n]+1,其中[2n]表示取2n的整数部分;(5)具有n个结点的完全二叉树的深度为[2n]+1;(6)设完全二叉树共有n个结点。
如果从根结点开始,按层序(每一层从左到右)用自然数1,2,…给结点进行编号(1,2…),有以下结论:①若1,则该结点为根结点,它没有父结点;若k>1,则该结点的父结点编号为(2);②若2k≤n,则编号为k的结点的左子结点编号为2k;否则该结点无左子结点(也无右子结点);③若21≤n,则编号为k的结点的右子结点编号为21;否则该结点无右子结点。
满二叉树是指除最后一层外,每一层上的所有结点有两个子结点,则k层上有21个结点深度为m的满二叉树有21个结点。
完全二叉树是指除最后一层外,每一层上的结点数均达到最大值,在最后一层上只缺少右边的若干结点。
二叉树存储结构采用链式存储结构,对于满二叉树与完全二叉树可以按层序进行顺序存储。
二叉树的遍历:(1)前序遍历(),首先访问根结点,然后遍历左子树,最后遍历右子树;(2)中序遍历(),首先遍历左子树,然后访问根结点,最后遍历右子树;(3)后序遍历()首先遍历左子树,然后访问遍历右子树,最后访问根结点。
1.7 查找技术顺序查找的使用情况:(1)线性表为无序表;(2)表采用链式存储结构。
二分法查找只适用于顺序存储的有序表,对于长度为n的有序线性表,最坏情况只需比较2n次。
1.8 排序技术排序是指将一个无序序列整理成按值非递减顺序排列的有序序列。
交换类排序法:(1)冒泡排序法,需要比较的次数为n(1)/2;(2)快速排序法。
插入类排序法:(1)简单插入排序法,最坏情况需要n(1)/2次比较;(2)希尔排序法,最坏情况需要O(n1.5)次比较。
选择类排序法:(1)简单选择排序法, 最坏情况需要n(1)/2次比较;(2)堆排序法,最坏情况需要O(2n)次比较。
第二章程序设计基础2.1 程序设计设计方法和风格如何形成良好的程序设计风格1、源程序文档化;2、数据说明的方法;3、语句的结构;4、输入和输出。
注释分序言性注释和功能性注释,语句结构清晰第一、效率第二。
2.2 结构化程序设计结构化程序设计方法的四条原则是:1. 自顶向下;2. 逐步求精;3.模块化;4.限制使用语句。
结构化程序的基本结构和特点:(1)顺序结构:一种简单的程序设计,最基本、最常用的结构;(2)选择结构:又称分支结构,包括简单选择和多分支选择结构,可根据条件,判断应该选择哪一条分支来执行相应的语句序列;(3)循环结构:可根据给定条件,判断是否需要重复执行某一相同程序段。
2.3 面向对象的程序设计面向对象的程序设计:以60年代末挪威奥斯陆大学和挪威计算机中心研制的语言为标志。
面向对象方法的优点:(1)与人类习惯的思维方法一致;(2)稳定性好;(3)可重用性好;(4)易于开发大型软件产品;(5)可维护性好。
对象是面向对象方法中最基本的概念,可以用来表示客观世界中的任何实体,对象是实体的抽象。
面向对象的程序设计方法中的对象是系统中用来描述客观事物的一个实体,是构成系统的一个基本单位,由一组表示其静态特征的属性和它可执行的一组操作组成。
属性即对象所包含的信息,操作描述了对象执行的功能,操作也称为方法或服务。
对象的基本特点:(1)标识惟一性;(2)分类性;(3)多态性;(4)封装性;(5)模块独立性好。
类是指具有共同属性、共同方法的对象的集合。
所以类是对象的抽象,对象是对应类的一个实例。
消息是一个实例与另一个实例之间传递的信息。
消息的组成包括(1)接收消息的对象的名称;(2)消息标识符,也称消息名;(3)零个或多个参数。
继承是指能够直接获得已有的性质和特征,而不必重复定义他们。
继承分单继承和多重继承。
单继承指一个类只允许有一个父类,多重继承指一个类允许有多个父类。
多态性是指同样的消息被不同的对象接受时可导致完全不同的行动的现象第三章软件工程基础3.1 软件工程基本概念计算机软件是包括程序、数据及相关文档的完整集合。
软件的特点包括:(1)软件是一种逻辑实体;(2)软件的生产与硬件不同,它没有明显的制作过程;(3)软件在运行、使用期间不存在磨损、老化问题;(4)软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致了软件移植的问题;(5)软件复杂性高,成本昂贵;(6)软件开发涉及诸多的社会因素。
软件按功能分为应用软件、系统软件、支撑软件(或工具软件)。
软件危机主要表现在成本、质量、生产率等问题。
软件工程是应用于计算机软件的定义、开发和维护的一整套方法、工具、文档、实践标准和工序。
软件工程包括3个要素:方法、工具和过程。
软件工程过程是把软件转化为输出的一组彼此相关的资源和活动,包含4种基本活动:(1)P——软件规格说明;(2)D——软件开发;(3)C——软件确认;(4)A——软件演进。
软件周期:软件产品从提出、实现、使用维护到停止使用退役的过程。
软件生命周期三个阶段:软件定义、软件开发、运行维护,主要活动阶段是:(1)可行性研究与计划制定;(2)需求分析;(3)软件设计;(4)软件实现;(5)软件测试;(6)运行和维护。
软件工程的目标和与原则:目标:在给定成本、进度的前提下,开发出具有有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性且满足用户需求的产品。
基本目标:付出较低的开发成本;达到要求的软件功能;取得较好的软件性能;开发软件易于移植;需要较低的费用;能按时完成开发,及时交付使用。
基本原则:抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性和可验证性。
软件工程的理论和技术性研究的内容主要包括:软件开发技术和软件工程管理。
软件开发技术包括:软件开发方法学、开发过程、开发工具和软件工程环境。
软件工程管理包括:软件管理学、软件工程经济学、软件心理学等内容。
软件管理学包括人员组织、进度安排、质量保证、配置管理、项目计划等。