国家计算机二级考试公共基础知识教材
全国计算机等级考试之二级公共基础知识PPT课件( 124页)
元素2 153 6
元素3 134 6
存储地址 存储内容
指针
1345
元素1
1400
1346
元素4
∧
…….
…….. …….
1400
元素2
1536
…….
…….. …….
1536
元素3
1346
元素4 ∧
h
链式存储
1345
元素1 140
元素2 153 元素3 134
0
6
6
链接存储结构特点:
元素4 ∧
1.比顺序存储结构的存储密度小 (每个节点都由数据域和指针愈组成)。
图形结构
的
三 个
2、数据的存储结构 A 顺序存储
方 面
(亦称物理结构) B 链式存储
3、数据的运算:检索、排序、插入、删除、修改等。
图形结构——节点间的连结是任意的
1 2
4 3
D={ 1 , 2 , 3 , 4} R={(1,2) , (1,3) , (1,4) , (2,3)
(3,4) , (2,4) }
△ 人与计算机交流的语言非平常人与人之间 交流的语言,是专门的语言——程序设计 语言。
△ 程序设计语言是计算机系统软件的重要组成 部分。
△ 执行程序设计的语言有很多,可分高级语言 和低级语言,区别在于接近自然语言的程度
△ 高级语言一般与具体的计算机硬件无关,比 较接近人类自然语言的语法习惯及数学表达 形式。
1
2
3
D={ 1 , 2 , 3 } R={ (1,2) , (2,3) , (3,2) , (1,3) }
线性表
A.线性结构 栈
队 1.数据的逻辑结构
全国计算机等级考试二级公共基础知识讲义
全国计算机等级考试——二级公共基础知识辅导讲义目录第一章数据结构与算法 (1)1.1 算法 (1)1.2 数据结构的基本概念 (2)1.3 线性表及其顺序存储结构 (3)1.4 栈和队列 (4)1.5 线性链表 (5)1.6 树与二叉树 (7)1.7 查找技术 (10)1.8 排序技术 (11)本章应考点拨 (12)第二章程序设计基础 (13)2.1 程序设计风格 (13)2.2 结构化程序设计(面向过程的程序设计方法) (14)2.3 面向对象的程序设计 (15)本章应考点拨 (16)第三章软件工程基础 (17)3.1 软件工程基本概念 (17)3.2 结构化分析方法 (20)3.3 结构化设计方法 (21)3.4 软件测试 (25)3.5 程序的调试 (28)本章应考点拨 (29)第四章数据库设计基础 (30)4.1 数据库系统的基本概念 (30)4.2 数据模型 (34)4.3 关系代数 (38)4.4 数据库设计方法和步骤 (40)本章应考点拨 (40)第一章数据结构与算法1.1 算法1描述。
*:算法不等于程序,也不等于计算方法。
程序的编制不可能优于算法的设计。
2、算法的基本特征(1)可行性。
针对实际问题而设计的算法,执行后能够得到满意的结果。
(2)确定性。
每一条指令的含义明确,无二义性。
并且在任何条件下,算法只有唯一的一条执行路径,即相同的输入只能得出相同的输出。
(3)有穷性。
算法必须在有限的时间内完成。
有两重含义,一是算法中的操作步骤为有限个,二是每个步骤都能在有限时间内完成。
(4)拥有足够的情报。
算法中各种运算总是要施加到各个运算对象上,而这些运算对象又可能具有某种初始状态,这就是算法执行的起点或依据。
因此,一个算法执行的结果总是与输入的初始数据有关,不同的输入将会有不同的结果输出。
当输入不够或输入错误时,算法将无法执行或执行有错。
一般说来,当算法拥有足够的情报时,此算法才是有效的;而当提供的情报不够时,算法可能无效。
全国计算机等级考试二级_公共基础知识精品PPT课件
14
三、线性表 线性表是最简单的、最常用的一种线性结构。 1.线性表的定义:线性表是n个元素的有限序列,它们
之间的关系可以排成一个线性序列:a1,a2,…… ,ai,…… ,an ,其中n称作表的长度,当n=0 时,称作空表。 线性表(非空线性表)必须同时满足以下3个条件: (1)有且只有一个根结点a1,它无前件。 (2)有且只有一个终端结点an,它无后件。 (3)除根结点与终端结点外,其他所有结点有且只 有一个前件,也有且只有一个后件。
线性表的定义、线性表的顺序存储结构及其插入与删除运算。
栈和队列的定义、栈和队列的顺序存储结构及其基本运算。
线性单链表、双向链表与循环链表的结构及其基本运算。
树的基本概念,二叉树的定义及其存储结构,二叉树的前序、 中序和后序遍历。
顺序查找与二分法查找算法、基本排序算法(交换类排序、选 择类排序与插入类)。
8
A.二元关系表示方法:一个数据结构可以表示为B=( D、R),其中R用二元组来表示(a、b)。 a表示前 件, b表示后件。 例如,一年四季的数据结构可以表示成: B=(D、R) D={春,夏,秋,冬} R={(春,夏),(夏,秋),(秋,冬)}
B.在图形表示方法中,用中间标有元素值的方框来表示 数据元素,称为数据结点,简称为结点;用一条有 向线段从前件结点指向后件结点(注意:有时可以 省略箭头)来表示元素之间的前后关系。
16
例:正确表示线性表(A1,A2,A3,A4)的顺序结 构是( )
二级公共基础知识
二级公共基础知识
第一章 算法与数据结构 第二章 程序设计基础 第三章 软件工程基础 第四章 数据库设计基础
2
本章要求
国家计算机二级考试公共基础知识教材
国家计算机二级考试公共基础知识教材公共基础知识总结之第一章数据结构与算法 (1)公共基础知识总结之第二章程序设计基础 (4)公共基础知识总结之第三章软件工程基础 (5)公共基础知识总结之第四章数据库系统 (8)公共基础知识总结之第一章数据结构与算法第一章数据结构与算法1.1 算法算法:是指解题方案的准确而完整的描述。
算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。
算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。
特征包括:(1)可行性;(2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性;(3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义;(4)拥有足够的情报。
算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构。
指令系统:一个计算机系统能执行的所有指令的集合。
基本运算和操作包括:算术运算、逻辑运算、关系运算、数据传输。
算法的控制结构:顺序结构、选择结构、循环结构。
算法基本设计方法:列举法、归纳法、递推、递归、减斗递推技术、回溯法。
算法复杂度:算法时间复杂度和算法空间复杂度。
算法时间复杂度是指执行算法所需要的计算工作量。
算法空间复杂度是指执行这个算法所需要的内存空间。
1.2 数据结构的基本基本概念数据结构研究的三个方面:(1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构;(2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构;(3)对各种数据结构进行的运算。
数据结构是指相互有关联的数据元素的集合。
数据的逻辑结构包含:(1)表示数据元素的信息;(2)表示各数据元素之间的前后件关系。
数据的存储结构有顺序、链接、索引等。
线性结构条件:(1)有且只有一个根结点;(2)每一个结点最多有一个前件,也最多有一个后件。
全国计算机二级公共基础知识
数据结构是计算机存储、组织数据的方式,是相互之间存在一种或多种特定关系的数据元 素的集合。数据结构主要研究数据的逻辑结构和物理结构,以及数据结构上的基本操作。
数据结构的分类
根据数据的特性,可以将数据结构分为线性结构和非线性结构。线性结构包括线性表、栈 、队列等,非线性结构包括树、图等。
全国计算机二级公共基础知 识
汇报人:
汇报时间:202X-12-24
目录
• 计算机基础知识 • 数据结构与算法 • 操作系统 • 软件工程基础 • 数据库设计基础 • 网络技术基础
01
计算机基础知识
计算机的发展历程
机械计算机时代
19世纪,利用齿轮和指针进行算术和逻辑 运算。
互联网与多媒体时代
20世纪90年代,计算机网络技术飞速发 展,计算机成为获取、传递、处理和利用 信息的重要工具。
常见的数据结构和算法
01
常见的数据结构
02
常见的算法
线性表、栈、队列、树、图等。
排序算法(如冒泡排序、快速排序等)、查找算法(如二分查找、哈 希查找等)、图论算法(如最小生成树、最短路径等)。
03
操作系统
操作系统的基本概念
01
02
03
操作系统定义
操作系统作用
操作系统分类
操作系统是计算机系统中负责硬件与软件 资源的管理、调度、以及用户与计算机之 间的接口,是计算机系统的核心组成部分 。
根据不同的分类标准,可以将算法分 为不同的类型。如根据算法的复杂度 ,可以分为简单算法和复杂算法;根 据算法的功能,可以分为排序算法、 查找算法、图论算法等。
算法的设计原则包括正确性、可读性 、健壮性、可维护性和高效性等。正 确性是指算法能够正确地解决问题; 可读性是指算法易于理解;健壮性是 指算法能够处理异常情况;可维护性 是指算法易于修改和扩展;高效性是 指算法执行效率高。
二级公共基础知识课件
机械计算机时代
1940年代以前,使用穿孔纸带 进行计算,计算效率较低。
小型化与微型化时代
1960年代以后,晶体管计算机 和集成电路计算机时代来临, 计算机开始小型化和微型化。
互联网与云计算时代
1990年代以后,互联网的普及 和云计算技术的发展,计算机 应用领域不断扩大。
计算机系统组成
01
02
03
硬件系统
数据结构与算法
是程序设计的基础,好的 数据结构和算法可以提高 程序的效率和稳定性。
软件工程
是软件开发和维护的工程 化方法,包括需求分析、 设计、编码、测试和维护 等阶段。
02
数据结构与算法
数据结构概念
数据结构定义
数据结构是数据元素之间存在的 一种或多种特定关系的集合,这 些关系定义了数据元素之间的组
基本单位。
线程状态
线程状态包括新建、就 绪、运行、阻塞和终止
。
文件系统与存储管理
文件系统定义
存储管理定义
文件系统是操作系统中负责文件存储 和管理的部分,它为用户提供了一种 方便的访问和管理文件的方式。
存储管理是操作系统中负责内存分配 和管理的一部分,它负责将物理内存 划分为可分配的内存块,并管理内存 的回收和释放。
法等。
算法优化技巧
算法优化技巧包括选择合适的 数据结构、减少重复计算、使
用缓存等。
03
操作系统
操作系统概述
操作系统定义
操作系统是计算机系统的核心软 件,负责管理和控制计算机硬件 和软件资源,为用户提供便利的
操作界面和高效的系统服务。
操作系统功能
操作系统的功能包括进程管理、 内存管理、文件管理和设备管理
栈
全国计算机等级考试二级公共基础知识精品PPT课件
二级公共基础知识
11
一、算法
全国计算机等级考试
National Computer Rank Examination
5、在计算机中,算法是指( B )
A) 加工方法
B) 解题方案的准确而完整的描述
C) 排序方法
D) 查询方法
6、下列叙述中正确的是( B )
A) 算法的效率只与问题的规模有关,而与数据的存储结构无关。
全国计算机等级考试
二级公共基础知识
8
一、算法
全国计算机等级考试
National Computer Rank Examination
算法的基本要素: (1)对数据对象的运算和操作: A .算术运算 B .逻辑运算 C .关系运算 D .数据传输 (2)算法的控制结构: A .顺序结构 B .选择结构 C .循环结构
全国计算机等级考试
National Computer Rank Examination
算法
算法的定义 算法的特征 算法的基本要素 算法复杂度
数据结构的定义
数据结构
逻辑结构 和 物理结构
线性结构 和 非线性结构
顺序表、链表、堆栈 队列、循环队列、树
全国计算机等级考试
二级公共基础知识
7
一、算法
全国计算机等级考试
数据 结构
数据本身
数据之间的 前后件关系
数据结构表示为:DS={D,S} 例:D={春,夏,秋,冬}
S={(春,夏),(夏,秋),(秋,冬),(冬,春)}
全国计算机等级考试
二级公共基础知识
13
二、数据结构
全国计算机等级考试
National Computer Rank Examination
全国计算机等级考试二级公共基础知识课件版
通过与用户交流,了解其需求 和业务规则,为设计提供依据 。
逻辑设计
将概念设计转化为逻辑模型, 确定表、字段及约束。
数据库设计概述
根据用户需求,规划、创建和 管理数据库的过程。
概念设计
使用概念模型进行设计,确定 实体、属性及关系。
物理设计
确定数据的物理存储结构,如 文件类型、存储路径等。
2023-2026
查找
查找定义
查找是从数据结构中找出特定元素的过程。
查找算法
常见的查找算法包括顺序查找、二分查找等。
查找效率
查找效率取决于数据结构的类型和数据的分布情况。
排序
排序算法
常见的排序算法包括冒泡排序、插入排序、 快速排序等。
排序定义
排序是将一组数据按照某种规则排列的过程 。
排序效率
排序效率取决于排序算法的时间复杂度和数 据量的大小。
PART 04
数据库设计基础
数据库基本概念
数据库
是长期存储在计算机内的、有组织的、可共享的数 据集合。
数据模型
是抽象表示现实世界数据和数据间关系的数据结构 。
数据库管理系统
是管理数据库的系统软件,用于建立、使用和维护 数据库。
数据模型
概念模型
用图形方式(如实体-联系图)表示数据概念及数 据间关系。
二叉树定义
二叉树是一种特殊的树,每个节点最多有两个子 节点。
二叉树性质
二叉树的性质包括二叉树的遍历、二叉树的平衡 等。
图
01
图定义
图是由节点和边组成的集合,表 示对象之间的关系。
图遍历
02
03
Байду номын сангаас
图的应用
计算机二级公共基础知识教材
计算机二级公共基础知识教材计算机是现代社会中不可或缺的工具,无论是在学校、工作还是日常生活中,我们都离不开计算机的使用。
为了提高人们对计算机基础知识的掌握,许多教材被编写出来,其中计算机二级公共基础知识教材是非常重要的一本。
本文将对这本教材的内容进行详细介绍。
第一章:计算机的基础知识本章主要介绍计算机的起源、发展、组成和工作原理。
首先,我们会了解计算机的起源和发展历程,从早期的巨型机到现代个人电脑的发展演变。
然后,我们会学习计算机的主要组成部分,如中央处理器(CPU)、内存、硬盘等,并了解它们的功能和作用。
最后,我们会深入研究计算机的工作原理,包括输入、处理、输出和存储四个基本步骤。
第二章:操作系统与应用软件本章主要介绍操作系统和应用软件的基本概念和功能。
首先,我们会了解操作系统的定义和作用,探讨不同操作系统的特点和使用场景。
然后,我们会学习常见的应用软件,如文字处理软件、电子表格软件、演示软件等,了解它们的功能和使用方法。
此外,我们还会介绍如何选择适合自己的操作系统和应用软件,以提高工作效率。
第三章:计算机网络基础知识本章主要介绍计算机网络的基本概念和结构。
首先,我们会了解计算机网络的定义和分类,从局域网到广域网的不同规模和范围。
然后,我们会学习计算机网络的组成和连接方式,包括服务器、路由器、交换机等设备的功能和作用。
最后,我们会深入探讨网络通信协议和网络安全的基本知识,以提高网络的可靠性和安全性。
第四章:数据库管理与SQL语言本章主要介绍数据库的基本概念和管理方法。
首先,我们会了解数据库的定义和特点,探讨数据库管理系统(DBMS)的功能和作用。
然后,我们会学习SQL语言的基本操作,包括创建表、插入数据、更新数据等。
此外,我们还会介绍数据库的备份和恢复技术,以及数据安全和权限管理的重要性。
第五章:多媒体技术基础本章主要介绍多媒体技术的基本概念和应用。
首先,我们会了解多媒体的定义和特点,包括文本、图像、音频和视频等多种形式的融合。
全国计算机等级考试二级共公基础知识(NCRE-2-P)教案(ppt文档)
1.1 算法
1.1.1 算法的基本概念
算法:对解题方案准确而完整的描述 1、算法的特征
可行性 确定性 有穷性(可能完成、合理时间) 拥有足够的情报
2、算法的基本要素
(1)对数据对象的运算和操作:算术运算、逻辑运算、关系运算、数据传输 (2)算法的控制结构:控制结构(顺序、选择、循环),描述工具(传统流程图、N-S流
1.3.2 线性表的顺序存储结构
线性表顺序存储的特点:
存储空间是连续的 元素在存储空间按逻辑顺序存放
采用顺序存储的线性表的主要运算有:
插入、删除、查找、排序、分解、合并、复制、逆转
1.3.3 顺序表的插入运算
在第i个元素之前插入新元素时,需要移动n-i+1个元素 在存储空间满的情况下插入新元素,将发生上溢错误 效率:平均移动一半的元素(第1位置全移动,最后位置不用动)
退栈:删除元素,使top-1。Top=0(栈空)时将发生下溢错误
读栈顶元素:
7
入栈 退栈 6 ↓ ↑5
top→ D
4
CHale Waihona Puke 3B2bottom → A
1
1.4.2 队列及其基本运算
队列:
允许在一端进行插入、另一端进行
删除的线性表
退队←
特征:FIFO
循环队列及其运算:
标志:
s=0 队列空 s=1 队列非空
2、算法的空间复杂度(指执行这个算法所需的内存空间)
1.2 数据结构的基本概念
数据结构涉及三方面问题:
数据的逻辑结构:数据元素间固有逻辑关系
35
16
数据的存储结构:数据元素在计算机中的存储关系 对各种数据结构进行的运算
计算机二级公共基础知识PPT课件
2021
9
数据的存储结构
数据的存储结构是数据元素及其关系在计算机存储器中 的表示。存储结构的主要内容是指在存储空间中使用一 个存储结点来存储一个数据元素,在存储空间中建立各 存储结点之间的关联,来表示数据元素之间的逻辑关系。
常见的存储结构:
一个直接后继
非线性结构
非线性结构的逻辑特征是:一个结点可能有多个直接 前驱和直接后继,树和图都属于非线性结构。
2021
11
线性表
通常以下列 n 个数据元素的序列”表示 线性表 :
(a1,a2 ,...,ai ,...,an) 序列中数据元素的个数 n 定义为线性表
的表长;n=0 时的线性表被称为空表。 称 i 为ai在线性表中的位序。
Q:图中非终端结点有几个? 5
2021
25
树型结构的常用术语
结点的层次 树中根结点的层
①
次为1,根结点子树的根为第2层,
以此类推;
②B
A CD
树的深度 树中所有结点层次的 ③ E
最大值; Q:图中树的深度?
④
F GH I J KM
2021
26
二叉树
二叉树是n(n≥0)个数据元素的 有限集,它或为空集,或者含有 唯一的称为根的元素,且其余元 素分成两个互不相交的子集,每 个子集自身也是一棵二叉树,分 别称为根的左子树和右子树。
2021
20
单链表的插入和删除
pa
b
px
x
pa
b
px
x
pa
b
c
2021
21
双向链表和循环链表
在双向链表中的结点包含两个指针域,其中一个指向直接后继,另 一个指向直接前驱。
全国计算机等级考试二级公共基础知识课件版
案例实战演练
案例背景:全国计算机等级考试二级公共基础知识 案例内容:选择题、填空题、判断题等题型 案例分析:对题目进行详细解析,包括知识点、解题思路等 案例总结:总结答题技巧和注意事项,提高答题效率和准确率
PART 7
总结与展望
学习成果总结与反思
学习内容:计算 机基础知识、操 作系统、数据库、 网络技术等
学习方法和技巧
制定学习计划:明确学习目标,合理安排 时间
理解知识点:理解并掌握每个知识点,做 到融会贯通
做题练习:通过做题来巩固知识点,提高 解题能力
总结错题:整理错题,分析错误原因,避 免再次犯错
交流讨论:与同学、老师交流讨论,互相 学习,共同进步
模拟考试:进行模拟考试,熟悉考试题型 和考试环境,提高考试能力
通过率:历年平均通过率在30%左右,具有一定的挑战性 考试内容:包括计算机基础知识、操作系统、数据库、网络技术、多 媒体技术等 考试形式:上机考试,题型包括选择题、填空题、判断题等
PART 3
基础知识
数据结构基础
数据结构:数据的组织形 式,包括线性表、树、图 等
线性表:由数据元素组成 的有序序列,如数组、链 表等
算法的分类:数值算法、非数 值算法、确定性算法、随机算 法
算法的表示:流程图、伪代码、 程序代码等
操作系统基础
操作系统定义: 管理计算机硬件 和软件资源的程 序
操作系统功能: 进程管理、内存 管理、文件系统、 设备管理、网络 管理等
操作系统分类: Windows、 Linux、Mac OS 等
操作系统发展趋 势:智能化、网 络化、虚拟化、 移动化等
YOUR LOGO
全国计算机等级考试 二级公共基础知识课 件版
国家计算机二级考试【公共基础知识教材】.pdf
国家计算机二级考试公共基础知识教材公共基础知识总结之第一章数据结构与算法 (1)公共基础知识总结之第二章程序设计基础 (4)公共基础知识总结之第三章软件工程基础 (5)公共基础知识总结之第四章数据库系统 (7)公共基础知识总结之第一章数据结构与算法第一章数据结构与算法1.1算法算法:是指解题方案的准确而完整的描述。
算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。
算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。
特征包括:(1)可行性;(2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性;(3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义;(4)拥有足够的情报。
算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构。
指令系统:一个计算机系统能执行的所有指令的集合。
基本运算和操作包括:算术运算、逻辑运算、关系运算、数据传输。
算法的控制结构:顺序结构、选择结构、循环结构。
算法基本设计方法:列举法、归纳法、递推、递归、减斗递推技术、回溯法。
算法复杂度:算法时间复杂度和算法空间复杂度。
算法时间复杂度是指执行算法所需要的计算工作量。
算法空间复杂度是指执行这个算法所需要的内存空间。
1.2数据结构的基本基本概念数据结构研究的三个方面:(1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构;(2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构;(3)对各种数据结构进行的运算。
数据结构是指相互有关联的数据元素的集合。
数据的逻辑结构包含:(1)表示数据元素的信息;(2)表示各数据元素之间的前后件关系。
数据的存储结构有顺序、链接、索引等。
线性结构条件:(1)有且只有一个根结点;(2)每一个结点最多有一个前件,也最多有一个后件。
非线性结构:不满足线性结构条件的数据结构。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
国家计算机二级测试公共基础知识教材公共基础知识总结之第一章数据结构和算法 (1)公共基础知识总结之第二章程序设计基础 (4)公共基础知识总结之第三章软件工程基础 (5)公共基础知识总结之第四章数据库系统 (7)公共基础知识总结之第一章数据结构和算法第一章数据结构和算法1.1 算法算法:是指解题方案的准确而完整的描述。
算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。
算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。
特征包括:(1)可行性;(2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性;(3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义;(4)拥有足够的情报。
算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构。
指令系统:一个计算机系统能执行的所有指令的集合。
基本运算和操作包括:算术运算、逻辑运算、关系运算、数据传输。
算法的控制结构:顺序结构、选择结构、循环结构。
算法基本设计方法:列举法、归纳法、递推、递归、减斗递推技术、回溯法。
算法复杂度:算法时间复杂度和算法空间复杂度。
算法时间复杂度是指执行算法所需要的计算工作量。
算法空间复杂度是指执行这个算法所需要的内存空间。
1.2 数据结构的基本基本概念数据结构研究的三个方面:(1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构;(2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构;(3)对各种数据结构进行的运算。
数据结构是指相互有关联的数据元素的集合。
数据的逻辑结构包含:(1)表示数据元素的信息;(2)表示各数据元素之间的前后件关系。
数据的存储结构有顺序、链接、索引等。
线性结构条件:(1)有且只有一个根结点;(2)每一个结点最多有一个前件,也最多有一个后件。
非线性结构:不满足线性结构条件的数据结构。
1.3 线性表及其顺序存储结构线性表由一组数据元素构成,数据元素的位置只取决于自己的序号,元素之间的相对位置是线性的。
在复杂线性表中,由若干项数据元素组成的数据元素称为记录,而由多个记录构成的线性表又称为文件。
非空线性表的结构特征:(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表示栈底。
栈的基本运算:(1)插入元素称为入栈运算;(2)删除元素称为退栈运算;(3)读栈顶元素是将栈顶元素赋给一个指定的变量,此时指针无变化。
队列是指允许在一端(队尾)进入插入,而在另一端(队头)进行删除的线性表。
Rear 指针指向队尾,front指针指向队头。
队列是“先进行出”(FIFO)或“后进后出”(LILO)的线性表。
队列运算包括(1)入队运算:从队尾插入一个元素;(2)退队运算:从队头删除一个元素。
循环队列:s=0表示队列空,s=1且front=rear表示队列满1.5 线性链表数据结构中的每一个结点对应于一个存储单元,这种存储单元称为存储结点,简称结点。
结点由两部分组成:(1)用于存储数据元素值,称为数据域;(2)用于存放指针,称为指针域,用于指向前一个或后一个结点。
在链式存储结构中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序和数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的。
链式存储方式即可用于表示线性结构,也可用于表示非线性结构。
线性链表,HEAD称为头指针,HEAD=NULL(或0)称为空表,如果是两指针:左指针(Llink)指向前件结点,右指针(Rlink)指向后件结点。
线性链表的基本运算:查找、插入、删除。
1.6 树和二叉树树是一种简单的非线性结构,所有元素之间具有明显的层次特性。
在树结构中,每一个结点只有一个前件,称为父结点,没有前件的结点只有一个,称为树的根结点,简称树的根。
每一个结点可以有多个后件,称为该结点的子结点。
没有后件的结点称为叶子结点。
在树结构中,一个结点所拥有的后件的个数称为该结点的度,所有结点中最大的度称为树的度。
树的最大层次称为树的深度。
二叉树的特点:(1)非空二叉树只有一个根结点;(2)每一个结点最多有两棵子树,且分别称为该结点的左子树和右子树。
二叉树的基本性质:(1)在二叉树的第k层上,最多有2k-1(k≥1)个结点;(2)深度为m的二叉树最多有2m-1个结点;(3)度为0的结点(即叶子结点)总是比度为2的结点多一个;(4)具有n个结点的二叉树,其深度至少为[log2n]+1,其中[log2n]表示取log2n的整数部分;(5)具有n个结点的完全二叉树的深度为[log2n]+1;(6)设完全二叉树共有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;否则该结点无右子结点。
满二叉树是指除最后一层外,每一层上的所有结点有两个子结点,则k层上有2k-1个结点深度为m的满二叉树有2m-1个结点。
完全二叉树是指除最后一层外,每一层上的结点数均达到最大值,在最后一层上只缺少右边的若干结点。
二叉树存储结构采用链式存储结构,对于满二叉树和完全二叉树可以按层序进行顺序存储。
二叉树的遍历:(1)前序遍历(DLR),首先访问根结点,然后遍历左子树,最后遍历右子树;(2)中序遍历(LDR),首先遍历左子树,然后访问根结点,最后遍历右子树;(3)后序遍历(LRD)首先遍历左子树,然后访问遍历右子树,最后访问根结点。
1.7 查找技术顺序查找的使用情况:(1)线性表为无序表;(2)表采用链式存储结构。
二分法查找只适用于顺序存储的有序表,对于长度为n的有序线性表,最坏情况只需比较log2n次。
1.8 排序技术排序是指将一个无序序列整理成按值非递减顺序排列的有序序列。
交换类排序法:(1)冒泡排序法,需要比较的次数为n(n-1)/2;(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)可维护性好。
对象是面向对象方法中最基本的概念,可以用来表示客观世界中的任何实体,对象是实体的抽象。
面向对象的程序设计方法中的对象是系统中用来描述客观事物的一个实体,是构成系统的一个基本单位,由一组表示其静态特征的属性和它可执行的一组操作组成。
属性即对象所包含的信息,操作描述了对象执行的功能,操作也称为方法或服务。
对象的基本特点:(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)运行和维护。