文档介绍:特选计算机二级公共基础知识
第2页
第一章数据结构与算法
算法:是指解题方案的准确而完整的描述。
算法不等于程序,也不等于计算方法,程序的编制不可能优于算法的设计。
算法的根本特征:是一组严谨地定义运算顺序的规那么
特选计算机二级公共基础知识
第2页
第一章数据结构与算法
算法:是指解题方案的准确而完整的描述。
算法不等于程序,也不等于计算方法,程序的编制不可能优于算法的设计。
算法的根本特征:是一组严谨地定义运算顺序的规那么,每一个规那么都是有效的,是明确的,此顺序将在有限的次数下终止。特征包括:
(1)可行性;
(2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性;
(3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义;
(4)拥有足够的情报。
算法的根本要素:一是对数据对象的运算和操作;二是算法的控制结构。
算法的三种根本控制结构:顺序结构、选择结构、循环结构。
算法复杂度包括:算法时间复杂度和算法空间复杂度。
算法时间复杂度是指执行算法所需要的计算工作量。
算法空间复杂度是指执行这个算法所需要的内存空间。
(D)
(BG)
,那么其空间复杂度必定小
,那么其时间复杂度也必定大
,而与数据的存储结构无关
栈是限定在一端进行插入与删除运算的线性表。
在栈中,允许插入与删除的一端称为栈顶,不允许插入与删除的另一端称为栈底。栈顶元素总是最后被插入的元素,栈底元素总是最先被插入的元素。即栈是按照“先进后出〞或“后进先出〞的原那么组织数据的。
栈的根本运算:
第3页
插入元素称为入栈运算;2)删除元素称为退栈运算;
。先将元素1,2,3,A,B,C依次入栈,然后再依次出栈,那么元素出栈的顺序是___(C,B,A,3,2,1)
队列是指允许在一端(队尾)进入插入,而在另一端(队头)进行删除的线性表。尾指针(Rear)指向队尾元素,头指针(front)指向排头元素的前一个位置(队头)。
队列是“先进先出〞或“后进后出〞的线性表。
队列运算包括:
1)入队运算:从队尾插入一个元素;
2)退队运算:从队头删除一个元素。
(A)
:
所谓循环队列,就是将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环状空间,供队列循环使用。在循环队列中,用队尾指针rear指向队列中的队尾元素,用排头指针front指向排头元素的前一个位置,因此,从头指针front指向的后一个位置直到队尾指针rear指向的位置之间,所有的元素均为队列中的元素。
循环队列中元素的个数=rear-front。
(B)
,因此循环队列是非线性结构
,只需要队尾指针就能反映队列中元素的动态变化情况
,只需要队头指针就能反映队列中元素的动态变化情况
(1:35),初始状态为front=rear=,front=15,rear=15,那么循环队列中的元素个数为(A)
解析:循环队列中的元素个数的计算方法是:队尾-队头
,rear-front即为元素的个数。
第4页
,rear-front+空间容量即为元素个数。
,元素个数为0或空间容量。
二叉树是一种非线性结构,它具有以下两个特点:
1)非空二叉树只有一个根结点;
2)每一个结点最多有两棵子树,且分别称为该结点的左子树与右子树。
根据二叉树的概念可知,二叉树的度可以为0(叶结点)、1(只有一棵子
树)或2(有