二级公共基础知识总结
二级公共基础知识总结

二级公共基础知识总结第一章数据结构与算法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.栈按先进后出的原则组织数据,所以入栈最早的最后出栈,而队列是先进先出的线性表。
2.循环队列有队头和队尾两个指针,但是循环队列仍是线性结构的线性表。
在循环队列中只需要对头指针与队尾两个指针来共同反映队列中元素的动态变化情况。
3.当有序线性表为顺序存储时才能用二分法查找。
可以证明的是对于长度为n的有序线性表,在最坏的情况下二分法查找只需要比较log2n次,而顺序查找需要比较n次。
4.链式存储结构既可以针对线性结构也可以针对非线性结构。
链式存储结构中每个结点都由数据域与指针域两部分组成,增加了存储空间。
顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的。
5.数据流图中带箭头的线段表示的是数据流,即沿箭头方向传送数据的通道一般在旁边标注数据流名。
程序流程图中带有箭头的线段表示的是控制流。
6.在软件开发中,需求分析阶段可以使用的工具有数据流图DFD图,数据字典DD,判定树与判定表。
7.“对象”有如下一些基本特点:标识唯一性,分类型,多态性,封装性,模块独立性好。
8.数据管理发展至今已经历了三个阶段:人工管理阶段,文件系统阶段和数据库系统阶段。
其中最后一个阶段结构简单,使用方便,逻辑性强,物理性少,在各方面的表现都最好,一直占据数据库领域的主导地位。
9.自然链接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。
10.内存又称主存,是CPU能直接寻址的存储空间,由半导体器件制成。
内存的特点是存取速率快。
所以微机中访问速度最快的存储器是内存。
11.计算机能直接识别和执行的语言是机器语言,机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。
它是计算机的设计者通过计算机的硬件结构赋予计算机的操作功能。
机器语言具有灵活,直接执行和速度快等特点。
12.1MB=1024KB=1024*1024B=220B13.Internet的四层结构分别是:网络接口层,网络层,传输层和应用层。
计算机二级公共基础知识总结(优选3篇)

计算机二级公共基础知识总结第1篇数据库(DB)特点:集成共享数据库系统(DBS):包含数据库和数据库管理系统数据库管理系统(DBMS):数据库系统的核心数据库管理发展的三个阶段:人工管理阶段--文件系统阶段--数据库系统阶段数据库管理的特点:集成性高共享性低冗余性数据统一管理与控制体系结构:三级模式(有利于保持数据的独立性包括物理独立性和逻辑独立性):外模式概念模式内模式两级映射:外模式到概念模式概念模式到内模式数据模型的三要素:数据结构数据操作数据约束E-R模型:也成为实体联系模型,其三大基本概念有实体(矩形)、联系(菱形)、属性(椭圆形)联系类型:一对一一对多多对多关系模型:最常用用二维表来表示。
关系模型的完整性约束包括实体完整性约束、参照完整性约束和用户定义的完整性约束。
实体完整性约束是数据库完整性的最基本要求,他要求关系中主键的属性值不能为空;参照完整性约束是关系之间相关联的基本约束,它要求关系不能引用不存在的元组;用户定义的完整性约束由用户设置具体数据环境和应用环境的约束,它反映了具体应用数据的语义要求关系代数中最常用的运算xxx集合运算符和专门的关系运算符集合运算符:并∪交∩ 差 - 笛卡尔积 ×关系运算符:选择运算 \sigma 投影 \pi 连接运算⋈除运算(笛卡尔积的逆运算) ÷数据库的设计一般采用生命周期法,分为需求分析、概念设计、逻辑设计和物理设计四个阶段目前关系数据库有六种范式,考前三个(1)第一范式(1NF):数据库表中每一列的属性都不可再分(2)第二范式(2NF):首先满足第一范式,且实体的属性完全依赖于主键(3)第三范式(3NF):满足第二范式,且消除非主属性对主键的传递依赖考试方式1.公共基础知识不单独考试,与其他二级科目组合在一起,作为二级科目考核内容的一部分。
2.上机考试,10道单项选择题,占10分。
参考课程:计算机二级公共基础知识总结第2篇软件的定义:计算机软件是与计算机系统的操作有关的程序、规程、规则及任何与之有关的文档和数据它由两部分组成:一是机器可执行的——程序及有关数据二是机器不可执行的——与软件开发、运行、维护、使用等有关的文档软件工程的三个要素:方法、工具和过程软件生命周期:软件的生命周期是指软件产品从提出、实现、使用维护到停止使用退役的过程。
计算机二级公共基础知识总结

计算机二级公共基础知识总结计算机二级公共基础知识是计算机考试中的重要组成部分,涵盖了计算机的基本原理、操作系统、办公软件等方面的内容。
下面我将从多个层面对这部分知识进行总结。
一、计算机基本原理计算机基本原理是计算机二级公共基础知识的核心内容之一。
它包括计算机硬件组成、计算机内部原理、数据表示与运算等方面的知识。
在学习这部分知识时,我们要了解计算机的基本组成,比如中央处理器(CPU)、内存(RAM)、硬盘等,以及它们之间的工作原理和相互关系。
此外,我们还要了解数据在计算机中的表示和运算方式,例如二进制、十进制的转换,以及加法、减法、乘法和除法等基本运算。
二、操作系统操作系统是计算机二级公共基础知识中另一个重要的内容。
它是计算机的核心软件,负责管理和控制计算机的资源,提供用户与计算机硬件之间的接口。
学习操作系统的知识,我们需要了解操作系统的基本概念和功能,如进程管理、内存管理、文件系统等。
同时,我们还需要了解常见的操作系统,如Windows、Linux等,以及它们的特点和使用方法。
三、办公软件办公软件是计算机二级公共基础知识的另一重要方面。
它主要包括文字处理、电子表格和演示文稿等工具软件。
在学习办公软件时,我们需要熟悉各种常见软件的功能和使用方法,比如Microsoft Office套件中的Word、Excel和PowerPoint。
掌握办公软件的使用技巧,能够提高我们的工作效率,满足日常办公的需求。
四、网络基础知识网络基础知识是计算机二级公共基础知识中不可忽视的部分。
随着互联网的发展,计算机网络已经成为人们生活和工作的重要组成部分。
学习网络基础知识,我们需要了解网络的基本概念和协议,如IP地址、子网掩码、TCP/IP协议等。
此外,我们还需要了解网络安全和常见的网络攻击方式,以便能够保护我们的计算机和个人信息。
总结起来,计算机二级公共基础知识包括计算机基本原理、操作系统、办公软件和网络基础知识等多个方面。
长文档排版素材——二级公共基础知识总结

目录第一章数据结构与算法 (1)1.1算法 (1)1.2 数据结构的基本基本概念 (1)1.3 线性表及其顺序存储结构 (2)1.4 栈和队列 (2)1.5 线性链表 (2)1.6 树与二叉树 (3)1.7 查找技术 (3)1.8 排序技术 (4)第二章程序设计基础 (5)2.1 程序设计设计方法和风格 (5)2.2 结构化程序设计 (5)2.3 面向对象的程序设计 (5)第三章软件工程基础 (7)3.1 软件工程基本概念 (7)3.2 结构化分析方法 (8)3.3 结构化设计方法 (8)3.4 软件测试 (9)3.5 程序的调试 (9)第四章数据库系统的基本概念 (11)4.1 数据库系统的基本概念 (11)4.2 数据模型 (12)4.3关系代数 (12)第一章数据结构与算法1.1算法算法:是指解题方案的准确而完整的描述。
算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。
算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。
特征包括:(1)可行性;(2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性;(3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义;(4)拥有足够的情报。
算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构。
指令系统:一个计算机系统能执行的所有指令的集合。
基本运算和操作包括:算术运算、逻辑运算、关系运算、数据传输。
算法的控制结构:顺序结构、选择结构、循环结构。
算法基本设计方法:列举法、归纳法、递推、递归、减斗递推技术、回溯法。
算法复杂度:算法时间复杂度和算法空间复杂度。
算法时间复杂度是指执行算法所需要的计算工作量。
算法空间复杂度是指执行这个算法所需要的内存空间。
1.2 数据结构的基本基本概念数据结构研究的三个方面:(1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构;(2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构;(3)对各种数据结构进行的运算。
全国计算机二级公共基础知识知识点

公共基础知识第一章数据结构与算法1.1 算法1.1.1 算法的基本概念1、算法的基本特征可行性、确定性、有穷性、拥有足够的情报所谓算法,是一组严谨地定义运算顺序的规则,并且每一个规则都是有效的,且是明确的,此顺序将在有限的次数下终止。
2、算法的基本要素(1)算法中对数据的运算和操作在一般的计算机系统中,基本的运算和操作:算术运算、逻辑运算、关系运算、数据传输(2)算法的控制结构描述算法的工具:传统流程图、N-S结构化流程图、算法描述语言等一个算法一般都可以用顺序、选择、循环三种基本控制结构组合而成3、算法设计基本方法列举法、归纳法、递推(本质上也属于归纳法,递推关系式往往是归纳的结果)、递归(基础也是归纳,分为直接递归和间接递归两种)、减半递推技术、回溯法(“试”)1.1.2 算法复杂度1、算法的时间复杂度(执行算法所需要的计算工作量)算法的工作量用算法所执行的基本运算次数来度量,而算法所执行的基本运算次数是问题规模的函数算法的工作量=f(n),n是问题的规模两个n阶矩阵相乘所需要的基本运算(即两个实数的乘法)次数为n3,即计算工作量为n3,也就是时间复杂度为n3对于一个固定的规模,算法所执行的基本运算次数还可能与特定的输入有关——可以用两种方法来分析算法的工作量:平均性态、最坏情况复杂性2、算法的空间复杂度(执行这个算法所需要的内存空间)如果额外空间量相对于问题规模来说是常数,则称该算法是原地工作的1.2 数据结构的基本概念数据结构主要有三个方面的问题:●数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构●在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构●对各种数据结构进行的运算提高数据处理的效率,主要包括两个方面:●提高数据处理的速度●尽量节省在数据处理过程中所占用的计算机存储空间1.2.1 什么是数据结构无序表,只能用顺序查找对分查找只适用于有序表(在词典中查单词的方法类似于对分查找)数据结构是指相互有关联的数据元素的集合(向量、矩阵、图书馆中的图书卡片目录……)在数据处理领域中,通常把数据元素之间这种固有的关系简单地用前后件关系(直接前驱与直接后继关系)来描述,前后件关系所表示的实际意义随具体对象的不同而不同1、数据的逻辑结构一个数据结构应包含以下两方面的信息:●表示数据元素的信息●表示各数据元素之间的前后件关系(数据元素之间的前后件关系是指它们的逻辑关系,而与它们在计算机中的存储位置无关)一个数据结构可以表示成:B=(D,R)D为数据元素的集合,R为D中各数据元素之间的前后件关系(一般用二元组来表示)a与b是D中的两个数据,则二元组(a,b)表示a是b的前件,b是a的后件2、数据的存储结构各数据元素在计算机存储空间中的位置关系与它们的逻辑关系不一定是相同的,而且一般也不可能相同一种数据的逻辑结构根据需要可以表示成多种存储结构,常用的存储结构有顺序、链接、索引等存储结构1.2.2 数据结构的图形表示在数据结构中,没有前件的结点称为根结点,没有后件的结点称为终端结点(叶子结点)数据结构中除了根结点与终端结点外的其他结点一般称为内部结点在对数据结构的处理过程中,不仅数据结构中的结点(即数据元素)个数在动态地变化,而且,各数据元素之间的关系也有可能在动态地变化1.2.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表示),它是问题规模的函数。
二级公共基础知识总结(new)

二级公共基础知识总结(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代表每个元素占的字节数。
顺序表的运算:查找、插入、删除。
在链式存储结构中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的。
)指向后件结点。
线性链表的基本运算:查找、插入、删除。
其允许插入与删除的一端称为栈顶,用指针top表示栈顶位置。
栈的存储方式有顺序存储和链式存储。
栈的基本运算:(1) 入栈运算,在栈顶位置插入元素;(2) 退栈运算,删除元素(取出栈顶元素并赋给一个指定的变量);队列运算包括:(1) 入队运算:从队尾插入一个元素;(2) 退队运算:从队头删除一个元素。
队列的顺序存储结构一般采用队列循环的形式。
循环队列s=0表示队列空;s=1且front=rear表示队列满。
计算循环队列的元素个数:“尾指针减头指针”,若为负数,再加其容量即可。
1.6 树与二叉树树是一种简单的非线性结构,其所有元素之间具有明显的层次特性。
在树结构中,每一个结点只有一个前件,称为父结点。
没有前件的结点只有一个,称为树的根结点,简称树的根。
每一个结点可以有多个后件,称为该结点的子结点。
没有后件的结点称为叶子结点。
在树结构中,一个结点所拥有的后件的个数称为该结点的度,所有结点中最大的度称为树的边的若干结点。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
二级公共基础知识总结(30分:10选择+5填空)第一章数据结构与算法一.算法1.概念:是解题方案的准确而完整的描述。
算法不等于程序,也不等于计算方法。
2.基本特征:(1)确定性,算法中每一步骤都必须有明确定义,不允许有模棱两可的解释,不允许有多义性;(2)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止;(3)可行性,算法原则上能够精确地执行;(4)拥有足够的情报。
3.基本要素:一是对数据对象的运算和操作;二是算法的控制结构。
4.指令系统:一个计算机系统能执行的所有指令的集合。
5.基本运算和操作包括:算术运算、逻辑运算、关系运算、数据传输。
6.基本控制结构:顺序结构、选择结构、循环结构。
7.基本设计方法:列举法、归纳法、递推、递归、减半递推技术、回溯法。
8.算法复杂度(算法效率的度量)(1)算法时间复杂度:指执行算法所需要的计算工作量。
即算法执行过程中所需要的基本运算次数。
通常,一个算法所用的时间包括编译时间和运行时间。
(2)算法空间复杂度:指执行这个算法所需要的内存空间。
包括算法程序所占的空间,输入的初始数据所占的空间,算法执行过程中所需的额外空间。
二.数据结构1.数据的基本单位是数据元素2.数据结构:指相互有关联的数据元素的集合。
3.数据的存储结构(也称数据物理结构):数据的逻辑结构在计算机存储空间中的存放形式4.数据的存储结构有顺序、链接、索引、散列。
5.数据结构类型(按各元素之间前后件关系的复杂度划分):(1)线性结构的条件:①有且只有一个根结点;②每一个结点最多有一个前件,也最多有一个后件。
(2)非线性结构:不满足线性结构条件的数据结构。
6.线性结构:(1)线性表①记录:由若干项数据元素组成的数据元素②文件:由多个记录构成的线性表。
③线性表的顺序存储结构基本特点:a)线性表中所有元素所占的存储空间是连续的;b)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的④线性链表(线性表的链式存储结构)数据结构中的每一个结点对应于一个存储单元,这种存储单元称为存储结点,简称结点。
结点由两部分组成:a)用于存储数据元素值,称为数据域;b)用于存放指针,称为指针域,用于指向前一个或后一个结点。
★在链式存储结构中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的。
★链式存储方式即可用于表示线性结构,也可用于表示非线性结构。
★链式存储结构需要更多地存储空间(2)栈①限定在一端(即栈顶)进行插入与删除的线性表。
②栈顶位置用指针top表示。
栈底位置用指针bottom表示。
③栈按照“先进后出”(FILO)或“后进先出”(LIFO)组织数据,栈具有记忆作用。
④栈的存储方式有顺序存储和链式存储。
⑤栈的基本运算:a)入栈运算,在栈顶位置插入元素;b)退栈运算,删除元素(取出栈顶元素并赋给一个指定的变量);c)读栈顶元素,将栈顶元素赋给一个指定的变量,此时指针无变化。
⑥栈的元素个数=bottom-top+1(3)队列①指允许在一端(队尾)进入插入,而在另一端(队头)进行删除的线性表。
②用rear指针指向队尾,用front指针指向队头元素的前一个位置。
③队列是“先进先出”(FIFO)或“后进后出”(LILO)的线性表。
④队列运算包括:a) 入队运算:从队尾插入一个元素;b) 退队运算:从队头删除一个元素。
⑤队列的顺序存储结构一般采用队列循环的形式。
循环队列s=0表示队列空;s=1且front=rear表示队列满。
⑥循环队列的元素个数:front<rear时,元素个数=rear-front;front>rear时,元素个数=n(循环队列容量)-front+rear7.非线性结构(1)树①每一个结点只有一个前件,称为父结点。
②没有前件的结点只有一个,称为树的根结点,简称树的根。
③每一个结点可以有多个后件,称为该结点的子结点。
④没有后件的结点称为叶子结点。
⑤一个结点所拥有的后件的个数称为该结点的度,所有结点中最大的度称为树的度。
⑥树的最大层次称为树的深度。
(2)二叉树①特点:a)非空二叉树只有一个根结点;b)每一个结点最多有两棵子树,且分别称为该结点的左子树与右子树。
②满二叉树是指除最后一层外,每一层上的所有结点有两个子结点,则k层上有2k-1个结点深度为m的满二叉树有2m-1个结点。
完全二叉树是指除最后一层外,每一层上的结点数均达到最大值,在最后一层上只缺少右边的若干结点。
③基本性质:a)在二叉树的第k层上,最多有2k-1(k≥1)个结点;b)深度为m的二叉树最多有2m-1个结点;c)度为0的结点(即叶子结点)=度为2的结点数+1;d)二叉树总结点数=度为0的结点数+度为1的结点数+度为2的结点数e)具有n个结点的二叉树,其深度至少为[log2n]+1,其中[log2n]表示取log2n的整数部分f)具有n个结点的完全二叉树的深度为[log2n]+1;g)完全二叉树中度为1的节点只可能是0或1个补充:增加度为1的结点不会影响二叉树的叶子结点数,每增加一个度为2的结点便会增加一个叶子结点,没有度为2的结点时叶子结点数为1。
④二叉树存储结构采用链式存储结构,对于满二叉树与完全二叉树可以按层序进行顺序存储。
⑤二叉树的遍历:a)前序遍历(DLR),首先访问根结点,然后遍历左子树,最后遍历右子树;b)中序遍历(LDR),首先遍历左子树,然后访问根结点,最后遍历右子树;c)后序遍历(LRD)首先遍历左子树,然后访问遍历右子树,最后访问根结点。
前序遍历结果为 a b d e h i c f g ;中序遍历结果为 d b h e i a f c g ;后序遍历结果为 d h i e b f g c a例2:图1.13的二叉树。
图1.13(1)前序遍历先访问整棵二叉树的根结点A,然后再先序遍历左子树T1;在访问T1时,也以先序遍历原则,先访问T1的根结点B,然后再先序遍历T1的左子树T11;在访问T11时,也以先序遍历原则,先访问T11的根结点D,然后再先序遍历T11的左子树。
由于此时T11的左子树只有H结点,所以访问H结点,T11的左子树先序遍历结束,根据先序遍历的原则,进行先序遍历T11的右子树。
由于T11的右子树只有I结点,故访问此结点后T11的右子树的先序遍历结束。
先序遍历完T11子树后,返回T1子树,先序遍历T1的右子树。
先序遍历完T1子树后,接着先序遍历根结点A的右子树T2。
先序遍历完T2后,该二叉树的所有结点都已经访问过,各结点被访问的顺序为:ABDHIECFG(2)中序遍历:先中序遍历左子树,然后再访问根结点,最后再中序遍历右子树。
对图1.12的二叉树进行中序遍历,访问各个结点的顺序为:HDIBEAFCG(3)后序遍历:先后序遍历左子树,然后再后序遍历右子树,最后再访问根结点。
对图1.12的二叉树进行后序遍历,访问各个结点的顺序为:HIDEBFGCA。
下面树的先序、中序、后续遍历的结果依次为__ abdcef _、bdaecf _、_ dbefca小结:逻辑结构可分为线性表和非线性表。
线性表包括栈、队列,其存储方式为顺序存储、链式存储均可。
链式型有:线性链表,带链的栈,带链的队列,循环链表等。
非线性表包括树(二叉树),其存储方式为链式存储。
8. 查找技术只能使用顺序查找的两种情况:(1)线性表为无序表,不管是顺序存储还是链式存储;(2)表采用链式存储结构,即使是有序线性表。
★★二分法查找只适用于顺序存储的有序表,对于长度为n的有序线性表,最坏情况只需比较log2n次,而顺序查找需要比较n次。
9. 排序技术排序是指将一个无序序列整理成按值非递减顺序排列的有序序列。
类别排序方法最坏情况下的比较次数交换类冒泡排序n(n-1)/2快速排序n(n-1)/2插入类简单插入排序n(n-1)/2希尔排序O(n1.5)选择类简单选择排序n(n-1)/2堆排序O(nlog2n)★相比以上几种(除希尔排序法外),堆排序法的时间复杂度最小。
第二章程序设计基础一.程序设计设计方法和风格1.“清晰第一、效率第二”已成为当今主导的程序设计风格。
2. 形成良好的程序设计风格需注意:(1)源程序文档化;(2)数据说明的次序要规范化;(3)语句的结构应该简单直接,不要为提高效率而复杂化;(4)输入数据前要有提示信息和输出信息符合规范。
3. 注释:序言性注释和功能性注释。
二.结构化程序设计1. 基本原则:(1)自顶向下;(2)逐步求精;(3)模块化;(4)限制使用goto语句。
2. 基本结构:(1)顺序结构:一种简单的程序设计,最基本、最常用的结构;(2)选择结构:又称分支结构,包括简单选择和多分支选择结构,可根据条件,判断应该选择哪一条分支来执行相应的语句序列;(3)循环结构:又称重复结构,可根据给定条件,判断是否需要重复执行某一相同或类似的程序段。
3. 基本工具:程序流程图,N-S图4. 特点:只有一个入口和出口三.面向对象的程序设计(主要考虑的是提高软件的可重用性)1. 面向对象的程序设计的首次提出以60年代末挪威奥斯陆大学和挪威计算机中心研制的SIMULA语言为标志。
2. 面向对象方法的优点:(1)与人类习惯的思维方法一致;(2)稳定性好;(3)可重用性好;(4)易于开发大型软件产品;(5)可维护性好。
3. 面向对象技术的基本特征:(1)抽象性(2)继承性①继承具有传递性,一个类实际上继承了他上层的全部基类的特性。
②继承分单继承和多重继承。
单继承指一个类只允许有一个父类,即类等级为树形结构;多重继承指一个类允许有多个父类。
*:类的继承性是类之间共享属性和操作的机制,它提高了软件的可重用性。
(3)多态性是指同样的消息被不同的对象接受时可导致完全不同的行动的现象(4)封装性4. 对象是属性和方法的封装体,一个对象由对象名、属性和操作三部分组成,对象是实体的抽象。
(1)基本特点:标识唯一性,分类性,多态性,封装性(实现信息屏蔽)和模块独立性(2)属性即对象所包含的信息,它在设计对象时确定,一般只能通过执行对象的操作来改变。
操作描述了对象执行的功能,是对象的动态属性,操作也称为方法或服务。
5. 类是指具有共同属性、共同方法的对象的集合。
所以类是对象的抽象,对象是对应类的一个实例。
6. 消息是一个实例与另一个实例之间传递的信息。
对象间的通信靠消息传递。
它统一了数据流和控制流。
*:在面向对象方法中,一个对象请求另一个对象为其服务的方式是通过发送消息。
第三章软件工程基础一.软件工程基本概念1. 计算机软件是包括程序、数据及相关文档的完整集合。
2. 软件按功能分为:应用软件:教务管理系统系统软件:操作系统支撑软件(或工具软件):编译软件,汇编软件3. 软件危机主要表现在成本、质量、生产率等问题。