2025年全国计算机等级考试二级公共基础知识精华备考攻略.doc
1.1算法
算法:是解題方案的精确而完整的描述。通俗地說,算法就是计算机解題的过程。算法不等于程序,也不等于计算措施,程序的编制不也許优于算法的设计。
(1)确定性,算法中每一环节都必须有明确定义,不容許有模棱两可的解释,不容許有多义性;
(2)有穷性,算法必须能在有限的時间内做完,既能在执行有限个环节后终止;
(3)可行性,算法原则上可以精确地执行;
(4)拥有足够的情报。
算法效率的度量—算法复杂度:算法時间复杂度和算法空间复杂度。★★★
算法時间复杂度:指执行算法所需要的计算工作量。既算法执行过程中所需要的基本运算次数。
算法空间复杂度:指执行这个算法所需要的内存空间。
1.2数据构造的基本概念
数据构造:指互相有关联的数据元素的集合。
数据构造研究的三个方面:
(1)数据集合中各数据元素之间所固有的逻辑关系,既数据的逻辑构造;
(2)在对数据进行处理時,各数据元素在计算机中的存储关系,既数据的存储构造;
(3)对多种数据构造进行的运算。
线性构造的条件,(一种非空数据构造):
(1)有且只有一种根結点;(2)每一种結点最多有一种前件,也最多有一种后件。
非线性构造:不满足线性构造条件的数据构造。
1.3线性表及另一方面序存储构造
线性表的次序存储构造具有如下两个基本特点:
(1)线性表中所有元素所占的存储空间是持续的;
(2)线性表中各数据元素在存储空间中是按逻辑次序依次寄存的。
次序表的运算:查找、插入、删除。
1.4线性链表
数据构造中的每一种結点对应于一种存储单元,这种存储单元称為存储結点,简称結点。
結点由两部分构成:
(1)用于存储数据元素值,称為数据域;
(2)用于寄存指针,称為指针域,用于指向前一种或后一种結点。
在链式存储构造中,存储数据构造的存储空间可以不持续,各数据結点的存储次序与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的。
链式存储方式既可用于表达线性构造,也可用于表达非线性构造。
线性链表的基本运算:查找、插入、删除。
1.5栈和队列★★★★
栈:限定在一端进行插入与删除的线性表。?
其容許插入与删除的一端称為栈顶,用指针top表达栈顶位置。
不容許插入与删除的另一端称為栈底,用指针bottom表达栈底。
栈按照“先进后出”(FILO)或“后进先出”(LIFO)组织数据,栈具有记忆作用。
栈的存储方式有次序存储和链式存储。
栈的基本运算:
(1)入栈运算,在栈顶位置插入元素;
(2)退栈运算,删除元素(取出栈顶元素并赋給一种指定的变量);
(3)读栈顶元素,将栈顶元素赋給一种指定的变量,此時指针无变化。
队列:指容許在一端(队尾)进入插入,而在另一端(队头)进行删除的线性表。
用rear指针指向队尾,用front指针指向队头元素的前一种位置。
队列是“先进先出”(FIFO)或“后进后出”(LILO)的线性表。
队列运算:
(1)入队运算:从队尾插入一种元素;
(2)退队运算:从队头删除一种元素;
计算循环队列的元素个数:
“尾指针减头指针”,若為负数,再加其容量既可。
既:?
当尾指针-头指针0時,尾指针-头指针?
当尾指针-头指针0時,尾指针-头指针+容量
计算栈的个数:
栈底–栈顶+1
1.6树与二叉树★★★★★
1、树的基本概念
树是一种简朴的非线性构造,其所有元素之间具有明显的层次特性。
在树构造中,每一种結点只有一种前件,称為父結点。
没有前件的結点只有一种,称為树的根結点,简称树的根。
每一种結点可以有多种后件,称為该結点的子結点。没有后件的結点称為叶子結点。
在树构造中,一种結点所拥有的后件的个数称為该結点的度。来源:考试大
所有結点中最大的度称為树的度。
树的最大层次称為树的深度。
2、二叉树及其基本性质?
满足下列两个特点的树,既為二叉树
(1)非空二叉树只有一种根結点;
(2)每一种結点最多有两棵子树,且分别称為该結点的左子树与右子树。
二叉树基本性质:★★★★
性质1在二叉树的第k层上,最多有个結点。
性质2深度為m的二叉树最多有个个結点。
性质3在任意一棵二叉树中,度数為