计算机二级考试公共基本知识(完整ppt培训课件

上传人:aa****6 文档编号:57630068 上传时间:2018-10-23 格式:PPT 页数:188 大小:3.68MB
返回 下载 相关 举报
计算机二级考试公共基本知识(完整ppt培训课件_第1页
第1页 / 共188页
计算机二级考试公共基本知识(完整ppt培训课件_第2页
第2页 / 共188页
计算机二级考试公共基本知识(完整ppt培训课件_第3页
第3页 / 共188页
计算机二级考试公共基本知识(完整ppt培训课件_第4页
第4页 / 共188页
计算机二级考试公共基本知识(完整ppt培训课件_第5页
第5页 / 共188页
点击查看更多>>
资源描述

《计算机二级考试公共基本知识(完整ppt培训课件》由会员分享,可在线阅读,更多相关《计算机二级考试公共基本知识(完整ppt培训课件(188页珍藏版)》请在金锄头文库上搜索。

1、全国计算机等级考试二级教程 公共基础知识部分 要 点,第 一 章 数据结构与算法,【本章考试要点】 算法的基本概念;算法复杂度的概念和意义(时间复杂度和空间复杂度)。 数据结构的定义;数据的逻辑结构与存储结构;数据结构的图形表示;线性结构与非线性结构。 线性表的定义;线性表的顺序存储结构及其插入与删除。 栈和队列的定义;栈和队列的顺序存储结构有其基本运算。 线性单链表、双向链表与循环链表的结构及其基本运算。,树的基本概念;二叉树的定义及其存储结构;二叉树的前序、中序和后序遍历。 顺序查找与二分法查找算法;基本排序算法(交换类排序、选择类排序、插入类排序)。,一、算法算法是指解题方案的准确而完整

2、的描述。 1、算法的基本特征 可行性算法的每一条指令都必须是基本的,可执行的。 确定性算法的每一个步骤都必须是有明确定义的,不允许有模棱两可的解释,也不允许有多义性。 有穷性算法必须在有限的时间内完成,即算法必须能在执行有限个步骤之后终止。 拥有足够的情报不同的输入将会有不同的结果。当算法拥有足够的情报时,算法才有效。,P1,算法是一组严谨地定义运算顺序的规则,并且每一个规则都是有效的,且是明确的,此顺序将在有限的次数下终止。,P2,2、算法的基本要素 数据对象的运算和操作基本运算和操作包括以下四类:算术运算逻辑运算关系运算数据传输 算法的控制结构算法中各操作之间的执行顺序称为算法的控制结构。

3、一个算法通常由顺序、选择、循环三种基本控制结构组合而成。,P2,3、算法设计基本方法列举法归纳法递推递归减半递推技术回溯法,P3,4、算法复杂度 算法的时间复杂度指执行算法所需要的计算工作量(用基本运算的次数来度量)。算法的空间复杂度指执行算法所需要的内存空间。,P5、P7,二、数据结构的基本概念 1、数据结构的定义 数据结构是指相互有关联的数据元素的集合。 在数据处理领域里,每一个需要处理的对象都可以抽象数据元素(元素)。 在具有相同牲的数据元素集合中,各个数据之间存在有某种关系(即联系),这种关系反映了该集合中的数据元素所固有的一种结构。通常把数据元素之间这种固有的关系简单地用前后件关系(

4、或直接前驱与直接后继)来描述。,P10、P11,数据结构是指反映数据元素之间关系的数据元素集合的表示。或者说,数据结构是指带有结构的数据元素的集合。所谓结构实际上就是指数据元素之间的前后件关系。,(1)数据的逻辑结构一个数据结构应包含两个方面的信息: 表示数据元素的信息 表示各数据元素之间的前后件关系(逻辑关系,与数据在计算机中的存储位置无关)所谓数据的逻辑结构,是指反映数据元素之间逻辑关系的数据结构。,P11,(2)数据的存储结构 数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构(物理结构)。 在数据的存储结构中,不仅要存放各数据元素的信息,还需要存放各数据元素之间的前后件关系。

5、 常用的存储结构有顺序、链接、索引等存储结构。 采用不同的存储结构,其数据处理的效率是不同的。 插入与删除是对数据结构的两种基本运算。,P13,2、数据结构的图形表示 每一个数据元素用中间标有元素值的方框表示,称之为数据结点。 用一条有向线段从前件指向后件,以表示数据元素之间的前后件关系。 没有前件的结点称为根结点;没有后件的结点称为终端结点(叶子结点)。,P13,3、线性结构与非线性结构 如果在一个数据结构中一个数据元素都没有,则该数据结构称为空的数据结构。 根据数据结构中各数据元素之间的前后件关系的复杂程度,将数据结构分为两大类:线性结构和非线性结构。,P14,(1)线性结构一个非空数据结

6、构如果:有且只有一个根结点每一个结点最多有一个前件和一个后件则称之为线性结构(线性表)。 一个线性结构中插入或删除任何一个结点后还应是线性结构。 如果一个线性结构满足上述两个条件,但当在此数据结构中插入或删除任何一个结点后不再满足上述条件,则该数据结构不能称线性结构。,P14,(2)非线性结构一个数据结构不是线性结构,则称之为非线性结构。 线性结构和非线性结构都可以是空的数据结构。 空的数据结构是线性结构还是非线性结构,要根据具体情况定。对该数据结构的运算按线性结构的规则处理,则属线性结构。对该数据结构的运算按非线性结构的规则处理,则属非线性结构,P15,三、线性表及其存储结构 1、线性表的概

7、念 线性表是最简单、最常用的一种数据结构。 线性表由一组数据元素构成,一个数据元素可以是个简单项,也可以由若干个数据项组成。(由若干个数据项组成的数据元素称为记录,而由多个记录构成的线性表称为文件)。 线性表线性表是由n(n0)个数据a1 , a2 , a3 , , ai , , an组成的一个有限序列,表中的每一个数据元素,除第一个外,有且只有一个前件;除了最后一个外,有且只有一个后件。即线性表可能表示为:( a1 , a2 , a3 , ai , , an) 线性表中结点的个数n称为线性表的长度。当n = 0 时,称为空表。,P15,非空线性表的结构特征:有且只有一个根结点a1,它无前件。

8、有且只有一个终结点an,它无后件。除根结点与终结点外,其它所有结点有且只有一个前件,也有且只有一个后件。,P16,2、线性表的顺序存储结构 线性表的顺序存储结构有以下两个基本特点:线性表中所有元素所占的存储空间是连续的线性表中各元素在存储结构中是按逻辑顺序依次存放的,P16,3、线性表的插入运算 插入运算是指在结构中的某指定位置上增加一个新结点。 线性表的插入操作是指在线性表的第i 1个数据元素和第i个数据元素之间插入一个新的数据元素,使长度为n的线性表变为长度为n + 1的线性表。,P17,一般情况下,要在第i(1in)个元素之前插入一个新元素时,首先要从最后一个(即第n个元素)开始,直到第

9、i个元素之间共n i + 1个元素依次向后移动一个位置后,在空出的第i个位置上插入新元素项。 在平均情况下,要在线性表中插入一个新元素,需要移动表中一半的数据元素。 插入操作使数据元素ai 1和ai之间的逻辑关系发生了变化。,P17,4、线性表的删除运算 删除运算是指撤消结构中某结点的内容。 与插入操作相反,线性表的删除操作使长度为n的线性表变为长度为n 1 的线性表。 删除操作使数据元素ai 1 , ai 和ai + 1之间的逻辑关系发生了变化。 一般情况下,要删除第i(1in)个元素时,首先要从第i + 1一个元素开始,直到第n个元素之间共n i个元素依次向前移动一个位置。,P18,四、栈

10、和队列 1、栈及其基本运算 (1)栈的概念 栈是限定在一端进行插入与删除操作的特殊的线性表。 栈中允许插入与删除操作的一端称为栈顶;不允许插入与删除的一端称为栈底。 栈顶元素总是最后被插入的元素,从而也是最先被删除的元素。即栈是按“先进后出”(FILO)的原则组织数据的。因此,栈具有记忆作用。 通常用指针top指示栈顶位置;指针bottom指向栈底位置。,P19,(2)栈的顺序存储及其运算 栈的顺序存储结构是指利用一组地址连续的存储单元依次存放自栈底到栈顶的数据元素,同时附设指针指示栈顶元素在顺序栈中的位置(详见教材P20图)。 栈的基本运算有三个:入栈 在栈顶位置插入一个新元素。 可分为两个

11、基本操作:将栈顶指针进一将新元素插入到栈顶指针指向的位置当栈顶指针指向存储空间的最后一个位置时,栈空间已满,不能再进行入栈操作,称作“上溢”错误。,P20,退栈 取出栈顶并赋于一个指定的变量。 可分为两个基本的操作:将栈顶元素(栈顶指针指向的元素)赋于一个指定的变量栈顶指针退一当栈顶指针为零时,栈已空,不能再进行退栈操作,称作“下溢”错误。读栈顶元素 将栈顶元素赋于一个指定变量。读栈顶元素时,并不删除栈顶元素,只是将它的值赋于一个变量,因此栈顶指针不会改变。当栈顶指针为零时,栈已空,读不到栈顶元素。,P21,2、队列及其基本运算 (1)队列的概念 队列是指允许在一端进行插入,而在另一端进行删除

12、的线性表。 允许插入的一端称为队尾;队尾指针(rear)指向队尾元素(最后被插入的元素)。 允许删除的一端称为排头。排头指针(front)指向排头元素的前一个位置。 队列中,最先被插入的元素,最先被删除。即队列是一个“先进先出”(FIFO)的线性表。,P21,(2)循环队列及其运算队列的顺序存储结构一般采用循环队列的形式。 循环队列就是将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环状空间,供队列循环使用(P22)。 在循环队列中,用队尾指针(rear)指向队列中的队尾元素,用排头指针(front)指向排头元素的前一个位置。 从排头指针指向的后一个位置到队尾指针指向的位置之间所有的元

13、素均为队列中的元素。 循环队列的初始状态为空,即:rear = front = m,P22,循环队列有两种基本运算:入队运算每进行一次入队运算,队尾指针就进一。当队尾指针rear = m + 1时,则置rear = 1。退队运算每进行一次退队运算,排头指针就进一。当排头指针front = m + 1时,则置front = 1。 当循环队列满时,有front = rear;而当循环队列空时,也有front = rear。即不能根据front = rear来判断队列的满还是空。 循环队列的满与空由增加的标志s定义:s = 0(队列为空) s = 1(队列非空) 因此:队列为空的条件: s = 0队

14、列非空的条件: s = 1 且front = rear = m,P22,入队运算 在队尾加入一个新元素。 可分为两个基本的操作:队尾指针进一(即:rear = rear + 1),并当rear = m + 1时,置rear = 1将新元素插入到队尾指针指向的位置当循环队列非空且队尾指针等于排头指针时,循环队列已满,不能进行入队运算,称作“上溢”。,P23,退队运算 在队头位置退出一个元素并赋给指定的变量。 可分为两个基本的操作:排头指针进一(即:front = front + 1),并当front = m + 1时,置front = 1将排头指针指向的元素赋给指定的变量。当循环队列为空进,不能

15、进行退队运算,称作“下溢”。,P23,五、线性链表 1、线性链表的基本概念 数据结构中的每一个数据结点对应于一个存储单元,此存储单元称为存储结点(结点)。 在链式存储结构中,每个结点由两部分构成:数据域 存放数据元素值指针域 存放下一个元素(后件)结点地址 链式存储结构中,存储数据结构的存储空间可以不连续,数据元素之间的逻辑关系由指针域确定。 链式存储方式既可以表示线性结构,也可以表示非线性结构。,P24,(1)线性链表 线性表的链式存储结构称为线性链表。 在线性链表中,用一个指针HEAD指向线性链表中的第一个数据元素的结点(序号) 线性表中最后一个元素没有后件,因此线性链表中最后一个结点的指

16、针域为空(NULL或0),表示链表终止。 在线性表的链式存储结构中,各数据结点的存储序号是不连续的,且各结点在存储空间中的位置关系与逻辑关系也不一致。 在线性链表中,各数据元素之间的前后件关系由各结点的指针域来指示。当指向第一个结点的头指针HEAD = NULL(或0)时称空表。,P24,如果对线性链表中的每一个结点设置两个指针:左指针 指向其前件结点右指针 指向其后件结点这样的线性链表称为双向链表。(2)带链的栈和队列 栈和队列都是线性表,因此也可以采用链式存储结构。,P24,2、线性链表的基本运算 (1)在线性链表中查找指定元素在线性链表中寻找包含指定元素值x的前一个结点p 基本方法 从头指针指向的结点开始往后沿指针进行扫描,直到后面已没有结点或下一个结点的数据域为x为止。 查找的结果线性表链表中存在包含元素x的结点时,则找到的p为第一次遇到的包含元素x的前一个结点序号线性链表中不存在包含元素x的结点时,则找到的p为线性链表中的最后一个结点序号。,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号