计算机二级公共基础知识.doc
《计算机二级公共基础知识.doc》由会员分享,可在线阅读,更多相关《计算机二级公共基础知识.doc(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、|第一章 数据结构与算法1.算法算法:是指解题方案的准确而完整的描述。算法不等于程序,也不等于计算方法,程序的编制不可能优于算法的设计。算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。特征包括: (1)可行性; (2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性; (3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义; (4)拥有足够的情报。 算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构。算法的三种基本控制结构:顺序结构、选择结构、循环结构
2、。算法复杂度包括:算法时间复杂度和算法空间复杂度。算法时间复杂度是指执行算法所需要的计算工作量。算法空间复杂度是指执行这个算法所需要的内存空间。 案例 0.算法的有穷性是指 (D)A.算法只能被有限的用户使用B.算法程序的长度是有限的C.算法程序所处理的数据量是有限的D.算法程序的运行时间是有限的案例 1.下列叙述中正确的是 (BG) A.一个算法的时间复杂度大,则其空间复杂度必定小B.算法的时间复杂度与空间复杂度没有直接关系C.一个算法的空间复杂度大,则其时间复杂度也必定大D.算法的时间复杂度与空间复杂度一定相关E.算法的效率只与问题的规模有关,而与数据的存储结构无关F.数据的逻辑结构与存储
3、结构是一一对应的G.算法的时间复杂度是指执行算法所需要的计算工作量2.栈及其基本运算 栈是限定在一端进行插入与删除运算的线性表。 在栈中,允许插入与删除的一端称为栈顶,不允许插入与删除的另一端称为栈底。栈顶元素总是最后被插入的元素,栈底元素总是最先被插入的元素。即栈是按照“先进后出 ”或“后进先出” 的原则组织数据的。 |栈的基本运算:1) 插入元素称为入栈运算;2)删除元素称为退栈运算;案例 2.一个栈的初始状态为空。先将元素 1,2,3,A,B,C 依次入栈,然后再依次出栈,则元素出栈的顺序是_ _ (C,B,A,3,2,1)3.队列及其基本运算 队列是指允许在一端(队尾)进入插入,而在另
4、一端(队头)进行删除的线性表。尾指针(Rear) 指向队尾元素,头指针(front)指向排头元素的前一个位置( 队头)。 队列是“先进先出”或“后进后出”的线性表。 队列运算包括:1)入队运算:从队尾插入一个元素;2)退队运算:从队头删除一个元素。案例 3.下列与队列结构有关联的是 (A)A.先到先服务的作业调度 B.函数的递归调用C.数组元素的引用 D.多重循环的执行4.循环队列及其运算:所谓循环队列,就是将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环状空间,供队列循环使用。在循环队列中,用队尾指针 rear指向队列中的队尾元素,用排头指针 front 指向排头元素的前一个位置,
5、因此,从头指针 front 指向的后一个位置直到队尾指针 rear 指向的位置之间,所有的元素均为队列中的元素。 循环队列中元素的个数=rear-front。 案例 4.下列叙述中正确的是 (B)A.循环队列有队头和队尾两个指针,因此循环队列是非线性结构B.循环队列中元素的个数是由队头指针和队尾指针共同决定C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况案例 5.设循环队列的存储空间为 Q(1:35),初始状态为 front=rear=35.现经过一系列入队与退队运算后, front=15, rear=15,则循环
6、队列中的元素个数为 (A)A.0 或 35 B.15 C.20 D.16解析:循环队列中的元素个数的计算方法是: 队尾-队头1.如果大于 0,rear-front 即为元素的个数。|2.如果小于 0,rear-front+空间容量 即为元素个数。3.如果等于 0,元素个数为 0 或空间容量。5.二叉树及其基本性质 二叉树是一种非线性结构,它具有以下两个特点:1)非空二叉树只有一个根结点;2)每一个结点最多有两棵子树,且分别称为该结点的左子树与右子树。 根据二叉树的概念可知,二叉树的度可以为 0(叶结点)、1(只有一棵子 树) 或 2(有 2 棵子树)。 二叉树考点 1:在任意一棵二叉树中,度数
7、为 0 的结点( 即叶子结点)总比度为 2 的结点多一个。叶子数(度为 0)=度为 2 结点数+1二叉树考点 2:二叉树的深度即二叉树的层次数二叉树考点 3:总结点数=度为 2 的结点数 +度为 1 的结点数 +度为 0 的结点数(叶子)案例 6.某二叉树共有 7 个结点,其中叶子结点只有 1 个,则该二叉树的深度为(假设根结点在第 1 层) _ 。 (7)案例 7.一棵二叉树共有 25 个结点,其中 5 个是叶子结点,则度为 1 的结点数为_ _ 。 (16)_解析:叶子结点数 =度为 2 的结点数+1 5 = ? +1求得度为 2 的结点数为 4总结点数=度为 2 的结点数+度为 1 的结
8、点数+ 度为 0 的结点数(叶子)25 =4 + ? +5求得度为 1 的结点数为 16二叉树考点 4:二叉树的遍历二叉树的遍历是指不重复地访问二叉树中的所有结点。二叉树的遍历可以分为以下三种: (1)前序遍历:若二叉树为空,则结束返回。否则 :首先访问根结点,然后遍历 左子树,最后遍历右子树。 (2)中序遍历:若二叉树为空,则结束返回。否则 :首先遍历左子树,然后访问根结点,最后遍历右子树。 (3)后序遍历:若二叉树为空,则结束返回。否则 :首先遍历左子树,然后遍|历右子树,最后访问根结点。案例 8. 对下列二叉树进行前序遍历的结果为_ _ (ABDYECFXZ)6.线性表由一组数据元素构成
9、,数据元素的位置只取决于自己的序号,元素之间的相对位置是线性的称为线性表。线性表是由 n(n0)个数据元素组成的一个有限序列,表中的每一个数据元素,除了第一个外,有且只有一个前件,除了最后一个外,有且只有一个后件。线性表中数据元素的个数称为线性表的长度。线性表可以为空表。 线性表是一种存储结构,它的存储方式:顺序和链式。 线性表的顺序存储结构具有两个基本特点:(1)线性表中所有元素所占的存储空间是连续的;(2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。 由此可以看出,在线性表的顺序存储结构中,其前后件两个元素在存储空间中是紧邻的,且前件元素一定存储在后件元素的前面,可以通过计算机直
10、接确定第 i 个结点的存储地址。 顺序表的插入、删除运算线性表的链式存储结构(线性链表) 数据结构中的每一个结点对应于一个存储单元,这种存储单元称为存储结点,简称结点。 结点由两部分组成:(1)用于存储数据元素值,称为数据域;(2)用于存放指针,称为指针域,用于指向前一个或后一个结点。 在链式存储结构中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的。 |链式存储方式既可用于表示线性结构,也可用于表示非线性结构。 线性结构条件: (1)有且只有一个根结点; (2)每一个结点最多有一个前件,也最多有一个后件。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 二级 公共 基础知识
限制150内