全国计算机等级考试二级公共基础知识考试要点12页浓缩打印版

合集下载

计算机二级公共基础知识要点概括

计算机二级公共基础知识要点概括

计算机二级公共基础知识要点概括
本文档概括了计算机二级公共基础知识的要点,以帮助读者快速复和掌握相关知识。

1. 计算机组成
- 计算机硬件:包括中央处理器(CPU)、内存、硬盘、输入输出设备等。

- 计算机软件:分为系统软件和应用软件,系统软件包括操作系统、编程语言等,而应用软件则是用来完成具体任务的。

2. 计算机网络
- 网络拓扑结构:包括总线型、星型、环型、树型等。

- 网络安全:包括防火墙、加密技术等,用于保护网络的安全性。

3. 数据结构与算法
- 数据结构:常见的数据结构包括链表、栈、队列、树等,用
于存储和组织数据。

- 算法:包括排序算法、查找算法、图算法等,用于解决各种
问题。

4. 数据库
- 数据库类型:包括关系型数据库和非关系型数据库。

- 数据库操作:包括数据的增删改查操作等。

5. 操作系统
- 操作系统功能:包括管理硬件资源、文件管理、进程管理等。

- 常见操作系统:Windows、Linux等。

6. 程序设计
- 编程语言:包括C、Java、Python等。

- 程序开发过程:包括需求分析、设计、编码、测试等。

这些是计算机二级公共基础知识的要点概括。

通过学习和掌握这些知识,您将更好地理解和应用计算机技术。

全国计算机等级考试二级公共基础知识考试要点

全国计算机等级考试二级公共基础知识考试要点

第一章数据构造与算法算法:是指解题方案的准确而完整的描述。

算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。

算法的根本特征:是一组严谨地定义运算顺序的规那么,每一个规那么都是有效的,是明确的,此顺序将在有限的次数下终止。

特征包括:〔1〕可行性;〔2〕确定性,算法中每一步骤都必须有明确定义,不允许有模棱两可的解释,不允许有多义性;〔3〕有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义;〔4〕拥有足够的情报。

算法的根本要素:一是对数据对象的运算和操作;二是算法的控制构造。

根本运算和操作包括:算术运算、逻辑运算、关系运算、数据传输。

算法的控制构造:顺序构造、选择构造、循环构造。

算法根本设计方法:列举法、归纳法、递推、递归、减半递推技术、回溯法。

算法复杂度:算法时间复杂度和算法空间复杂度。

算法时间复杂度是指执行算法所需要的计算工作量。

一般来说,算法的工作量用其执行的根本运算次数来度量,而算法执行的根本运算次数是问题规模的函数。

在同一个问题规模下,用平均性态和最坏情况复杂性来分析。

一般情况下,用最坏情况复杂性来分析算法的时间复杂度。

算法空间复杂度是指执行这个算法所需要的内存空间。

数据构造研究的三个方面:〔1〕数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑构造;〔2〕在对数据进展处理时,各数据元素在计算机中的存储关系,即数据的存储构造;〔3〕对各种数据构造进展的运算。

数据构造是指相互有关联的数据元素的集合。

数据构造是反映数据元素之间关系的数据元素集合的表示。

数据的逻辑构造包含:〔1〕表示数据元素的信息;〔2〕表示各数据元素之间的前后件关系。

〔逻辑关系,与在计算机内的存储位置无关〕一个数据构造中的各数据元素在计算机存储空间中的位置关系与逻辑关系有可能不同。

数据的存储构造是数据的逻辑构造在计算机存储空间中的存放形式。

常用的存储构造有顺序、链接、索引等。

全国计算机二级公共基础知识(打印版)

全国计算机二级公共基础知识(打印版)

全国计算机二级公共基础知识(重点部分)第一章 数据结构基础1.1算法1.1.1 算法的基本概念算法是解题方案的准确而完整的描述,它不等于程序,也不等计算方法。

算法的基本特征可行性(effectiveness) 确定性(definiteness) 有穷性(finiteness) 拥有足够的情报 算法的时间复杂度执行算法所需要的计算工作量 与下列因素有关:书写算法的程序设计语言 ,编译产生的机器语言,代码质量 机器执行指令的速度 ,问题的规模 问题的规模函数 算法的工作量=f(n)算法中基本操作重复执行的频率T(n),是问题规模n 的某个函数f(n),记作:T(n)=O(f(n)) 记号“O ”读作“大O ”。

表示随问题规模n 的增加,算法执行时间的增长率和f(n)相应增加。

常见算法复杂度:O(1):常数阶 O(n):作线性阶 O(n2):平方阶 O(n3):立方阶 O(logn):对数阶 O(2n):指数阶算法的空间复杂度算法执行过程中所需的最大存储空间 存储量包括以下三部分算法程序所占的空间 ,输入的初始数据所占的存储空间 ,算法执行过程中所要的额外空间1.2 数据结构的基本概念数据的逻辑结构对数据元素之间的逻辑关系的描述只抽象地反映数据元素之间的逻辑关系,与计算机中的存储无关 数据的存储结构数据的逻辑结构在计算机存储空间中的存放形式 常用的存储结构:顺序, 链式, 索引一种数据结构可根据需要采用不同的存储结构。

采用不同的存储结构,其数据处理的效率是不同 线性结构如果一个非空数据结构满足下列两个条件:有且只有一个根结点;每一个结点最多有一个前件,也最多有一个后件。

常见的线性结构有:线性表、栈与队列、线性链表非线性结构1.数据的逻辑结构2、数据的存储结构3、数据的运算:检索、排序、插入、删除、修改等。

A .线性结构B .非线性结构A 顺序存储B 链式存储线性表栈 队树形结构 图形结构数据结构的三个方面如果一个数据结构不是线性结构常见的非线性结构有:树、二叉树、图1.3 线性表及其顺序存储结构线性表的结构特征数据元素在表中的位置由序号决定,数据元素之间的相对位置是线性的;对于一个非空线性表,有且只有一个根结点a 1,它无前件,有且只有一个终端结点an ,它无后件,除根结点与终端结点外,其他所有结点有且只有一个前件,也有且只有一个后件。

计算机二级公共基础知识整理(完整版)

计算机二级公共基础知识整理(完整版)

第一章数据结构与算法经过对部分考生的调查以及对近年真题的总结分析,笔试部分经常考查的是算法复杂度、数据结构的概念、栈、二叉树的遍历、二分法查找,读者应对此部分进行重点学习。

详细重点学习知识点: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、线性表的定义;线性表的顺序存储结构及其插入与删除运算。

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.算法的基本概念:算法是指解题方案的准确而完整的描述。

即是一组严谨地定义运算顺序的规则,并且每一个规则都是有效的,且是明确的,没有二义性,同时该规则将在有限次运算后可终止。

计算机二级公共基础知识重点

计算机二级公共基础知识重点

计算机二级公共(gōnggòng)基础知识重点计算机二级公共(gōnggòng)基础知识一、数据结构(shù jù jiéɡòu)与算法1.1.1 数据结构(shù jù jiéɡòu)的基本概念数据(shùjù)结构指相互有关联的数据元素的集合。

数据逻辑结构反映数据元素之间的逻辑关系;存储结构为数据的逻辑结构在计算机存储空间中的存放形式,分为顺序存储、链式存储、索引存储和散列存储4种方式。

数据结构按各元素之间前后件关系的复杂度可划分为如下两种:(1)线性结构:有且只有一个根节点,且每个结点最多有一个直接前驱和一个直接后继的非空数据结构。

(2)非线性结构:不满足线性结构的数据结构。

1.1.2 算法1. 算法的基本概念(1)概念:算法是指解题方案的准确而完善的描述。

(2)基本特征:可行性、确定性、有穷性、拥有足够的情报。

(3)基本要素:对数据对象的运算和操作、算法和控制结构。

(4)设计的基本方法:列举法、归纳法、递推法、递归法、减半递推技术、回溯法。

2. 算法的复杂度(1)算法的时间复杂度:执行算法所需要的计算工作量。

(2)算法的空间复杂度:执行算法所需的内存空间。

1.1.3 线性表及其顺序存储结构1. 线性表的基本概念线性结构又称线性表,线性表是最简单也是最常用的一种数据结构。

2. 线性表的顺序存储结构顺序存储结构的特点(tèdiǎn)如下:(1)元素所占的存储空间必须(bìxū)连接。

(2)元素(yuán sù)在存储空间的位置是按逻辑顺序依次存放的。

3. 线性表的插入(chā rù)运算若在第i 个元素之前插入一个新元素,可先把原来第i 个结点至第n 个结点依次往后移一个元素位置(wèi zhi)。

然后把新结点放在第i 个位置上,最后修正线性表的结点个数。

全国计算机等级考试二级-计算机二级公共基础知识点汇总

全国计算机等级考试二级-计算机二级公共基础知识点汇总

计算机二级公共基础知识重点讲解汇总章节名称内容简介第一章数据结构与算法本章主要介绍算法的基本概念、数据结构的定义、线性表、树等重点知识的讲解。

第二章程序设计基础本章主要介绍程序设计风格、结构化程序设计、面向对象程序设计等重点知识的讲解。

第三章软件工程基础本章主要介绍软件工程的基本概念、结构化分析方法、软件设计等重点知识的讲解。

第四章数据库设计基础本章主要介绍数据库、数据库管理系统(DBMS)、数据库系统、数据模型、关系运算、专门关系运算、数据库设计步骤等重点知识的讲解。

第一章数据机构与算法数据结构与算法◆算法的基本概念1. 算法:是对问题处理方案的正确而完整的描述,是求解问题的方法,是指令的有效序列。

2. 具有5个特性:(1)有穷性(在有穷步后完成)算法程序的运行时间是有限的(2)确定性(每一步都有确定的含义)(3)可行性(4)输入(一个算法有零个或多个输入)(5)输出(一个算法有一个或多个输出)3. 算法的复杂度包括:时间复杂度和空间复杂度。

二者没有必然的联系。

时间复杂度:执行算法所需要的计算工作量或基本运算次数。

空间复杂度:算法所需要的空间的度量。

◆数据结构的定义1. 数据结构包括数据的逻辑结构、数据的存储结构、数据的操作数据的逻辑结构:数据的外部结构,指各数据元素之间的逻辑关系,反映人们对数据含义的解释。

包括:线性结构(线性表、栈、队列)和非线性结构(树和图)数据的存储结构:数据的物理结构,指数据的逻辑结构在计算机中的表示。

一个逻辑结构可以有多种存储结构。

◆线性表:线性表中元素的个数n(n>=0)定义为线性表的长度。

顺序存储是线性表的一种最常用的存储方式。

线性表的顺序存储结构和线性表的链式存储结构分别是随机存取的存储结构和顺序存取的存储结构。

1.栈:是限定在表尾进行插入和删除操作的线性表。

具有记忆功能只能顺序存储(错)允许插入和删除的一端叫栈顶。

另一端叫栈底。

后进先出的线性表2队列:是限定在一端插入而在另一端删除,插入端叫队尾,删除端叫对头。

全国计算机等级考试二级公共基础知识--复习提纲

全国计算机等级考试二级公共基础知识--复习提纲

全国计算机等级考试二级公共基础知识–复习提纲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.信息安全管理和法律规定以上内容为全国计算机等级考试二级公共基础知识的复习提纲,希望大家能够在备考过程中合理安排时间,认真复习,取得优异的成绩。

计算机等级考试二级公共基础知识部分重点归纳精

计算机等级考试二级公共基础知识部分重点归纳精

计算机等级考试二级公共基础知识部分重点归纳精计算机等级考试二级公共基础知识部分重点归纳.txt男人偷腥时的智商仅次于爱因斯坦。

美丽让男人停下,智慧让男人留下。

任何东西都不能以健康做交换。

本文由蓝鸟知道贡献doc文档可能在WAP端浏览体验不佳。

建议您优先选择TXT,或下载源文件到本机查看。

计算机等级考试二级公共基础知识部分重点归纳计算机等级考试二级公共基础知识部分重点归纳-08-02 16:311.算法是一种设计好的计算序列,用来解决一类问题。

12.算法复杂的包括:时间复杂度和空间复杂度。

时间复杂度指计算工作量,空间复杂度指内存空间的要求。

3.数据元素的集合,记为D,数据之间的前后关系,记为 R,B=(D,R),B 表示数据结构。

二元组表示 D 中各元素间的前后关系。

4.数据的逻辑结构在计算机存储空间中的存放形式称为存储结构(物理结构)。

5.常见的存储结构:顺序存储,链接存储。

6.数据的存储结构中,不接要存放数据元素的信息,还要存放数据元素之间的前后件关系的信息。

7.线性结构(条件:非空数据结构):1 有且只有一个根节点;2 每一个节点最多有一个前件,有最多有一个后件。

8.栈、队列、串等都是线性结构。

9.数组、广义表、树和图等数据结构都是非线性结构。

10.根据数据结构中各数据元素之间前后件关系的复杂度分:线性结构和非线性结构。

11.栈,特殊的线性表,按“先进后出”或“先出后进”原则组织数据。

如射击时射出子弹,顺序为后进弹匣先射出。

12.栈的一端封闭,另一端开口,仅开口端允许插入和删除元素。

允许插入与删除的一端称为栈顶,另一端称为栈底。

无元素为空栈。

13.栈的基本运算有 3种:入栈、退栈、与读栈顶元素。

14.队列只允许在一端(队头)进行删除,另一端(队尾)进行插入。

无元素为空队列。

15 队列的修改是依照先进先出的原则进行。

16.链式存储方式可用于两种数据结构中的任一种。

17.链式中的结点由两部分组成:一部分用于存放数据元素值,称为数据域,另一部分用于存放指针,称为指针域。

2023年计算机等级考试二级公共基础知识要点

2023年计算机等级考试二级公共基础知识要点

第一章数据结构与算法1.1 算法1、算法是指解题方案的准确而完整的描述。

换句话说,算法是对特定问题求解环节的一种描述。

*算法不等于程序,也不等于计算方法。

程序的编制不也许优于算法的设计(注释1)。

2、算法的基本特性(1)可行性。

针对实际问题而设计的算法,执行后可以得到满意的结果。

(2)拟定性。

每一条指令的含义明确,无二义性。

并且在任何条件下,算法只有唯一的一条执行途径,即相同的输入只能得出相同的输出。

(3)有穷性。

算法必须在有限的时间内完毕。

有两重含义,一是算法中的操作环节为有限个,二是每个环节都能在有限时间内完毕。

(4)拥有足够的情报。

算法中各种运算总是要施加到各个运算对象上,而这些运算对象又也许具有某种初始状态,这就是算法执行的起点或依据。

因此,一个算法执行的结果总是与输入的初始数据有关,不同的输入将会有不同的结果输出。

当输入不够或输入错误时,算法将无法执行或执行有错。

一般说来,当算法拥有足够的情报时,此算法才是有效的;而当提供的情报不够时,算法也许无效。

*:综上所述,所谓算法,是一组严谨地定义运算顺序的规则,并且每一个规则都是有效的,且是明确的,此顺序将在有限的次数下终止。

3、算法复杂度重要涉及时间复杂度和空间复杂度。

(1)算法时间复杂度是指执行算法所需要的计算工作量,可以用执行算法的过程中所需基本运算的执行次数来度量。

(2)算法空间复杂度是指执行这个算法所需要的内存空间。

注释1:这是由于在编写程序时要受到计算机系统运营环境的限制,程序通常还要考虑很多与方法和分析无关的细节问题1.2 数据结构的基本概念1、数据结构是指互相有关联的数据元素的集合。

2、数据结构重要研究和讨论以下三个方面的问题:(1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构。

数据的逻辑结构包含:1)表达数据元素的信息;2)表达各数据元素之间的前后件关系[wx1] 。

(2)在对数据进行解决时,各数据元素在计算机中的存储关系,即数据的存储结构。

全国计算机等级考试二级公共基础知识提纲

全国计算机等级考试二级公共基础知识提纲
栈按照“先进后出”(FILO)或“后进先出”(LIFO)组织数据,栈具有记忆作用。用top表示栈顶位置,用bottom表示栈底。
栈的基本运算:(1)插入元素称为入栈运算;(2)删除元素称为退栈运算;(3)读栈顶元素是将栈顶元素赋给一个指定的变量,此时指针无变化。
队列是指允许在一端(队尾)进入插入,而在另一端(队头)进行删除的线性表。Rear指针指向队尾,front指针指向队头。
软件工程的目标和与原则:
目标:在给定成本、进度的前提下,开发出具有有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性且满足用户需求的产品。
基本目标:付出较低的开发成本;达到要求的软件功能;取得较好的软件性能;开发软件易于移植;需要较低的费用;能按时完成开发,及时交付使用。
算法基本设计方法:列举法、归纳法、递推、递归、减斗递推技术、回溯法。
算法复杂度:算法时间复杂度和算法空间复杂度。
算法时间复杂度是指执行算法所需要的计算工作量。
算法空间复杂度是指执行这个算法所需要的内存空间。
1.2数据结构的基本基本概念
数据结构研究的三个方面:
(1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构;
多态性是指同样的消息被不同的对象接受时可导致完全不同的行动的现象。
第三章软件工程基础
3.1软件工程基本概念
计算机软件是包括程序、数据及相关文档的完整集合。
软件的特点包括:
(1)软件是一种逻辑实体;
(2)软件的生产与硬件不同,它没有明显的制作过程;
(3)软件在运行、使用期间不存在磨损、老化问题;
(4)软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致了软件移植的问题;
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一章数据结构与算法1.1算法算法:是指解题方案的准确而完整的描述。

算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。

算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。

特征包括:(1)可行性;(2)确定性,算法中每一步骤都必须有明确定义,不允许有模棱两可的解释,不允许有多义性;(3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义;(4)拥有足够的情报。

算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构。

基本运算和操作包括:算术运算、逻辑运算、关系运算、数据传输。

算法的控制结构:顺序结构、选择结构、循环结构。

算法基本设计方法:列举法、归纳法、递推、递归、减半递推技术、回溯法。

算法复杂度:算法时间复杂度和算法空间复杂度。

算法时间复杂度是指执行算法所需要的计算工作量。

一般来说,算法的工作量用其执行的基本运算次数来度量,而算法执行的基本运算次数是问题规模的函数。

在同一个问题规模下,用平均性态和最坏情况复杂性来分析。

一般情况下,用最坏情况复杂性来分析算法的时间复杂度。

算法空间复杂度是指执行这个算法所需要的内存空间。

1.2数据结构的基本概念数据结构研究的三个方面:(1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构;(2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构;(3)对各种数据结构进行的运算。

数据结构是指相互有关联的数据元素的集合。

数据结构是反映数据元素之间关系的数据元素集合的表示。

数据的逻辑结构包含:(1)表示数据元素的信息;(2)表示各数据元素之间的前后件关系。

(逻辑关系,与在计算机内的存储位置无关)一个数据结构中的各数据元素在计算机存储空间中的位置关系与逻辑关系有可能不同。

数据的存储结构是数据的逻辑结构在计算机存储空间中的存放形式。

常用的存储结构有顺序、链接、索引等。

根据数据结构中各数据元素之间前后件关系的复杂程度,一般将数据结构分为线性结构和非线性结构。

线性结构条件:(1)有且只有一个根结点;(2)每一个结点最多有一个前件,也最多有一个后件。

非线性结构:不满足线性结构条件的数据结构。

1.3线性表及其顺序存储结构线性表由一组数据元素构成,数据元素的位置只取决于自己的序号,元素之间的相对位置是线性的。

如:一个N维向量、矩阵在复杂线性表中,由若干项数据元素组成的数据元素称为记录,而由多个记录构成的线性表又称为文件。

非空线性表的结构特征:(1)有且只有一个根结点a1,它无前件;(2)有且只有一个终端结点an,它无后件;(3)除根结点与终端结点外,其他所有结点有且只有一个前件,也有且只有一个后件。

结点个数n称为线性表的长度,当n=0时,称为空表。

线性表的顺序存储结构具有以下两个基本特点:(1)线性表中所有元素的所占的存储空间是连续的;(2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。

ai的存储地址为:ADR(ai)=ADR(a1)+(i-1)k,,ADR(a1)为第一个元素的地址,k代表每个元素占的字节数。

顺序表的运算:插入、删除。

1.4 栈和队列栈是限定在一端进行插入与删除的线性表,允许插入与删除的一端称为栈顶,不允许插入与删除的另一端称为栈底。

栈按照“先进后出”(FILO)或“后进先出”(LIFO)组织数据,栈具有记忆作用。

用top表示栈顶位置,用bottom 表示栈底。

栈的顺序存储用一维数组S(1:m)作为栈的顺序存储空间,M为栈的最大容量。

S(bottom)表示栈底元素,s(top)为栈顶元素,top=0表示栈空,top=m表示栈满。

栈的基本运算:(1)插入元素称为入栈运算;(top=top+1;将新元素插入到栈顶指针指向的位置)上溢(2)删除元素称为退栈运算;(将栈顶指针指向的元素赋给指定的变量,top=top-1)下溢(3)读栈顶元素是将栈顶元素赋给一个指定的变量,此时指针无变化。

队列队列是指允许在一端(队尾)进入插入,而在另一端(队头)进行删除的线性表。

Rear指针指向队尾,front指针指向队头。

队列是“先进先出”(FIFO)或“后进后出”(LILO)的线性表。

队列的顺序存储与栈类似,用一维数组Q(1:m)作为队列的顺序存储空间队列运算(1)入队运算:从队尾插入一个元素;(2)退队运算:从队头删除一个元素。

循环队列:在循环队列结构中,当存储空间的最后一个位置已被使用而要进行入队运算时,只要存储空间的第一个位置空闲,就可将元素加入到第一个位置,即将存储空间的第一个位置作为队尾。

从Front指针指向的后一个位置直到队尾指针rear指向的位置之间所有的元素均为队列中的元素。

循环队列的初始状态为空: rear=front=m当循环队列满时,rear=Front为区别队满还是队空,增加标志S 。

s=0表示队列空,s=1且front=rear 表示队列满1.5线性链表对于元素变动频繁的大线性表不宜采用顺序存储结构,而应采用链式存储结构。

在链式存储结构中,数据结构中的每一个结点对应于一个存储单元,这种存储单元称为存储结点,简称结点。

结点由两部分组成:(1)用于存储数据元素值,称为数据域;(2)用于存放指针,称为指针域,用于指向前一个或后一个结点。

在链式存储结构中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的。

链式存储方式既可用于表示线性结构,也可用于表示非线性结构。

线性链表,HEAD 称为头指针,HEAD=NULL (或0)称为空表,如果是两指针:左指针(Llink )指向前件结点,右指针(Rlink )指向后件结点。

线性链表的基本运算:查找、插入、删除。

1.6树与二叉树树是一种简单的非线性结构,所有元素之间具有明显的层次特性。

在树结构中,每一个结点只有一个前件,称为父结点,没有前件的结点只有一个,称为树的根结点,简称树的根。

每一个结点可以有多个后件,称为该结点的子结点。

没有后件的结点称为叶子结点。

在树结构中,一个结点所拥有的后件的个数称为该结点的度,所有结点中最大的度称为树的度。

树的最大层次称为树的深度。

度为2的树称为二叉树。

二叉树的特点:(1)非空二叉树只有一个根结点;(2)每一个结点最多有两棵子树,且分别称为该结点的左子树与右子树。

二叉树的基本性质:(1)在二叉树的第k 层上,最多有2k-1(k ≥1)个结点;(2)深度为m 的二叉树最多有2m -1个结点;(3)度为0的结点(即叶子结点)总是比度为2的结点多一个;(4)具有n 个结点的二叉树,其深度至少为[log2n ]+1,其中[log2n ]表示取log2n 的整数部分; 满二叉树是指除最后一层外,每一层上的所有结点有两个子结点,满二叉树的性质: 第k 层上有2k-1个结点,深度为m 的满二叉树有2m -1个结点。

完全二叉树是指除最后一层外,每一层上的结点数均达到最大值,在最后一层上只缺少右边的若干结点。

由满二叉树与完全二叉树的特点可以看出,满二叉树也是完全二叉树,完全二叉树一般不是满二叉树。

完全二叉树的性质: (1)具有n 个结点的完全二叉树的深度为[log2n ]+1; (2)设完全二叉树共有n 个结点。

如果从根结点开始,按层序(每一层从左到右)用自然数1,2,…,n 给结点进行编号(k=1,2….n ),有以下结论:①若k=1,则该结点为根结点,它没有父结点;若k>1,则该结点的父结点编号为INT(k/2);②若2k≤n ,则编号为k 的结点的左子结点编号为2k ;否则该结点无左子结点(也无右子结点);③若2k+1≤n ,则编号为k 的结点的右子结点编号为2k+1;否则该结点无右子结点。

二叉树存储结构采用链式存储结构,对于满二叉树与完全二叉树可以按层序进行顺序存储。

二叉树的遍历:(1)前序遍历(DLR ),首先访问根结点,然后遍历左子树,最后遍历右子树;(2)中序遍历(LDR ),首先遍历左子树,然后访问根结点,最后遍历右子树;(3)后序遍历(LRD )首先遍历左子树,然后访问遍历右子树,最后访问根结点。

例: 设有如下的二叉树其前序遍历(DLR )的结果为: A B D E H I C F G 其中序遍历(LDR )的结果为:D B H E I A F C G 其后序遍历(LRD)的结果为:D H I E B F G C A 1.7查找技术 顺序查找的使用情况:(1)线性表为无序表;(不管是顺序存储结构还是链式存储结构)(2)表采用链式存储结构。

(即使是有序线性表)二分法查找只适用于顺序存储的有序表,对于长度为n 的有序线性表,二分查找最坏情况只需比较log2n 次,顺序查找需要比较n 次。

1.8排序技术排序是指将一个无序序列整理成按值非递减顺序排列的有序序列。

交换类排序法:假设线性表的长度为n(1)冒泡排序法在最坏情况下,需要比较的次数为n(n-1)/2;(2)快速排序法在最坏情况下,需要比较的次数为n(n-1)/2插入类排序法:(1)简单插入排序法,最坏情况需要n(n-1)/2次比较;(2)希尔排序法,最坏情况需要O(n1.5)次比较。

选择类排序法:(1)简单选择排序法,最坏情况需要n(n-1)/2次比较;(2)堆排序法,最坏情况需要O(nlog2n)次比较。

2.1程序设计设计方法和风格如何形成良好的程序设计风格1、源程序文档化;2、数据说明的方法;3、语句的结构;4、输入和输出。

注释分序言性注释和功能性注释,语句结构清晰第一、效率第二。

2.2结构化程序设计结构化程序设计方法的四条原则是:1.自顶向下;2.逐步求精;3.模块化;4.限制使用goto语句。

结构化程序的基本结构和特点:(1)顺序结构:一种简单的程序设计,最基本、最常用的结构;(2)选择结构:又称分支结构,包括简单选择和多分支选择结构,可根据条件,判断应该选择哪一条分支来执行相应的语句序列;(3)重复结构:又称循环结构,可根据给定条件,判断是否需要重复执行某一相同程序段。

2.3面向对象的程序设计面向对象的程序设计:以60年代末挪威奥斯陆大学和挪威计算机中心研制的SIMULA语言为标志。

面向对象方法的优点:(1)与人类习惯的思维方法一致;(2)稳定性好;(3)可重用性好;(4)易于开发大型软件产品;(5)可维护性好。

对象是面向对象方法中最基本的概念,可以用来表示客观世界中的任何实体,对象是实体的抽象。

面向对象的程序设计方法中的对象是系统中用来描述客观事物的一个实体,是构成系统的一个基本单位,由一组表示其静态特征的属性和它可执行的一组操作组成。

相关文档
最新文档