计算机二级公共基础知识(数据结构与算法)教学教材.ppt
《计算机二级公共基础知识(数据结构与算法)教学教材.ppt》由会员分享,可在线阅读,更多相关《计算机二级公共基础知识(数据结构与算法)教学教材.ppt(109页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计算机二级公共基础知识(数据结构与算法)注意事项注意事项公共基础知识部份的内容是属于计算机专业本科生的专业课,知识点特别散,而且有一定的难度。所以考生在学习的过程中,一定要克服畏难情绪,跟上老师的节奏。老师让记的,要记住。没做要求的,要学会放弃。放弃该放弃的,选择轻装上阵放弃该放弃的,选择轻装上阵一、数据结构与算法 1.算法的基本概念;算法复杂度的概念和意义(时间复杂度算法的基本概念;算法复杂度的概念和意义(时间复杂度与空间复杂度)。与空间复杂度)。2.数据结构的定义;数据的逻辑结构与存储结构;数据结构数据结构的定义;数据的逻辑结构与存储结构;数据结构的图形表示;线性结构与非线性结构的概念。的
2、图形表示;线性结构与非线性结构的概念。3.线性表的定义;线性表的顺序存储结构及其插入与删除运线性表的定义;线性表的顺序存储结构及其插入与删除运算。算。4.栈和队列的定义;栈和队列的顺序存储结构及其基本运算。栈和队列的定义;栈和队列的顺序存储结构及其基本运算。5.线性单链表、双向链表与循环链表的结构及其基本运算。线性单链表、双向链表与循环链表的结构及其基本运算。6.树的基本概念;二叉树的定义及其存储结构;二叉树的前树的基本概念;二叉树的定义及其存储结构;二叉树的前序、中序和后序遍历。序、中序和后序遍历。7.顺序查找与二分法查找算法;基本排序算法(交换类排序,顺序查找与二分法查找算法;基本排序算法
3、(交换类排序,插入类排序,选择类排序)。插入类排序,选择类排序)。1.1 算法1.1.1 算法算法(algorithm)基本概念基本概念它是指令的有限序列,其中每一条指令表示一个或多个操作。它是指令的有限序列,其中每一条指令表示一个或多个操作。对解题方案准确而完整的描述称为算法。对解题方案准确而完整的描述称为算法。对解题方案准确而完整的描述称为算法。对解题方案准确而完整的描述称为算法。算法算法计算机解题的过程实际上是在实施某种算法,这种算法称为计计算机解题的过程实际上是在实施某种算法,这种算法称为计算机算法。算机算法。算法的基本特征算法的基本特征:(1)有穷性有穷性(2)确定性确定性(3)可行
4、性可行性(4)拥有足够的情报拥有足够的情报(有零个或多个(有零个或多个输入,输入,有一个或多个有一个或多个输出输出)一个算法有零个或多个输入有零个或多个输入,以刻画运算对象的初始情况,所谓零个输入是指算法本身定出了初始条件;一个算法有一个或多个输出有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的;伪代码伪代码:S1:输入圆的半径输入圆的半径R;S2:求面积求面积 R2;S3:输出面积输出面积;例例1:已知圆的半径已知圆的半径,求圆的面积求圆的面积.描述算法的工具通常有传统流程图、描述算法的工具通常有传统流程图、N-S结构化流程结构化流程图、伪代码等。图、伪代码等。开始
5、开始输入输入R RS=3.14 S=3.14*R*RR*R输出输出S S结束结束传统流程图传统流程图第7页n算法与计算机程序算法与计算机程序 算法算法是一组逻辑步骤是一组逻辑步骤 程序程序用计算机语言描述的算法用计算机语言描述的算法算法不等于程序,也不等于计算方法,程序的编制不可能优于算法的设计。算法不等于程序,也不等于计算方法,程序的编制不可能优于算法的设计。算法不等于程序,也不等于计算方法,程序的编制不可能优于算法的设计。算法不等于程序,也不等于计算方法,程序的编制不可能优于算法的设计。算法是程序设计的核心算法是程序设计的核心算法算法:S1:输入圆的半径输入圆的半径R;S2:求面积求面积R
6、2;S3:输出面积输出面积;例题例题:已知圆的半径已知圆的半径,求圆的面积求圆的面积.程序程序#include#definePI3.14159intmain()floatr,s;doprintf(Pleaseinputr:);scanf(%f,&r);if(r0)printf(Error!n);while(r=0);s=PI*r*r;printf(Area=%fn,s);return0;1.1.2 算法的基本要素算法的基本要素 1、对数据对象的运算和操作、对数据对象的运算和操作n算术运算算术运算n逻辑运算逻辑运算n关系运算关系运算n数据传输数据传输2、算法的控制结构、算法的控制结构n算法中各操
7、作之间的执行顺序算法中各操作之间的执行顺序n一个算法一般可以用一个算法一般可以用顺序、选择、循环顺序、选择、循环3种基本结种基本结构组合而成。构组合而成。算术运算算术运算逻辑运算逻辑运算关系运算关系运算数据传输数据传输顺序、选择、顺序、选择、循环循环3种基种基本结构本结构#include#definePI3.14159intmain()floatR,S;doprintf(PleaseinputR:);scanf(%f,&R);if(R0)printf(Error!n);while(R=0);s=PI*R*R;printf(Area=%fn,S);return0;1.1.3 算法设计基本方法算法
8、设计基本方法n列举法列举法n归纳法归纳法n递推递推n递归(以简洁的形式设计和描述算法)递归(以简洁的形式设计和描述算法)n减半递推技术减半递推技术n回溯法回溯法1.2 算法复杂度算法复杂度1.2.1 时间复杂度时间复杂度n是指执行算法所需要的计算工作量。是指执行算法所需要的计算工作量。n通常有事后统计法和通常有事后统计法和事前分析估算法事前分析估算法。算法的工作量用算法所执行的算法的工作量用算法所执行的基本运算基本运算次数来度量次数来度量.算法所执行的基本运算次数与算法所执行的基本运算次数与问题的规模问题的规模n有关(即算有关(即算法所执行的基本次数是问题规模的函数)法所执行的基本次数是问题规
9、模的函数).执行算法所需要的计算工作量和执行算法所需要的计算工作量和f(n)同步增长,记为同步增长,记为:算法的工作量算法的工作量=f(n)时间复杂度时间复杂度=O(f(n)而对于一个固定的规模,算法所执行的基本次数还与特定的输入有关。例子例子4:for(i=2;i=n;+i)for(j=2;j=i-1;+j)+x;基本运算:基本运算:基本运算的执行次数:基本运算的执行次数:X增增1i=20i=31i=42i=nn-21+2+3+(n-2)=(n-1)(n-2)/2O()例子例子2:+x;O(1)例子例子3:for(i=1;i=n;+i)+x;O(n)时间复杂度:时间复杂度:O(n*n-3n+
10、2)/2)基本运算:基本运算:基本运算的执行次数:基本运算的执行次数:时间复杂度:时间复杂度:1X增增1基本运算:基本运算:基本运算的执行次数:基本运算的执行次数:时间复杂度:时间复杂度:X增增1n1.2.2 算法的空间复杂度算法的空间复杂度n 一般是指执行这个算法所需要的内存空间一般是指执行这个算法所需要的内存空间n一个算法所占用的内存空间包括一个算法所占用的内存空间包括算法程序算法程序所占所占的空间、的空间、输入的初始数据输入的初始数据所占的存储空间以及所占的存储空间以及算法在执行过程中所需要的额外空间这算法在执行过程中所需要的额外空间这3部分。部分。n 算法的时间复杂度是指算法的时间复杂
11、度是指A)执行算法程序所需要的时间执行算法程序所需要的时间 B)算法程序的长度算法程序的长度C)算法执行过程中所需要的基本运算次数算法执行过程中所需要的基本运算次数 D)算法程序中的指令条数算法程序中的指令条数n算法的基本特征是可行性、确定性、算法的基本特征是可行性、确定性、【1】和拥有足够的情报。和拥有足够的情报。n算法的空间复杂度是指算法的空间复杂度是指 A)算法程序的长度算法程序的长度 B)算法程序中的指令条数算法程序中的指令条数 C)算法程序所占的存储空间算法程序所占的存储空间 D)执行过程中所需要的存储空间执行过程中所需要的存储空间n在计算机中,算法是指在计算机中,算法是指 A)加工
12、方法加工方法B)解题方案的准确而完整的描述解题方案的准确而完整的描述 C)排序方法排序方法D)查询方法查询方法例题讲解例题讲解有穷性有穷性n算法分析的目的是算法分析的目的是 A)找出数据结构的合理性找出数据结构的合理性 B)找出算法中输入和输出之间的关系找出算法中输入和输出之间的关系 C)分析算法的易懂性和可靠性分析算法的易懂性和可靠性 D)分析算法的效率以求改进分析算法的效率以求改进n算法的工作量大小和实现算法所需的存储单元多少分别称为算法算法的工作量大小和实现算法所需的存储单元多少分别称为算法的的【1】。时间复杂度和空间复杂度时间复杂度和空间复杂度1.2 数据结构n数据结构的定义n数据的逻
13、辑结构和存储结构n数据结构的图形表示n线性结构与非线性结构能输入到计算机中能输入到计算机中并能被计算机程序处理的并能被计算机程序处理的符号的集合。符号的集合。整数整数(1,2)(1,2)、实数、实数(1.1,1.2)(1.1,1.2)字符串字符串(Beijing)(Beijing)、图形、声音。图形、声音。1.2.2 基本概念和术语数据结构是一门研究数据结构是一门研究数据数据组织组织、存储存储和和运算运算的一般方法的学科。的一般方法的学科。计算机管理图书问题计算机管理图书问题 在图书馆里有各种卡片:有按书名编排的、在图书馆里有各种卡片:有按书名编排的、有按作者编排的、有按分类编排有按作者编排的
14、、有按分类编排如何将查询图书的这些信息存入计算机中如何将查询图书的这些信息存入计算机中既要考虑查询时间短,又要考虑节省空间既要考虑查询时间短,又要考虑节省空间数据结构是一门研究数据结构是一门研究数据数据组织组织、存储存储和和运算运算的一般方法的学科。的一般方法的学科。最简单的办法之一是建立一张表,最简单的办法之一是建立一张表,每一本书的信息在表中占一行,如每一本书的信息在表中占一行,如 如何将如何将0,1,2,3,4,5,6,7,8,90,1,2,3,4,5,6,7,8,9这这1010个数存放在个数存放在计算机中能最快地达到你所需要的目的?计算机中能最快地达到你所需要的目的?目的不同,最佳的存
15、储方方法就不同目的不同,最佳的存储方方法就不同。从大到小排列:从大到小排列:9,8,7,6,5,4,3,2,1,09,8,7,6,5,4,3,2,1,0输出偶数:输出偶数:0,2,4,6,8,1,3,5,7,9 0,2,4,6,8,1,3,5,7,9 数据元素在数据元素在计算机中的表示计算机中的表示数据结构是一门研究数据结构是一门研究数据数据组织组织、存储存储和和运算运算的一般方法的学科。的一般方法的学科。对数据结构中的节点进行对数据结构中的节点进行操作处理操作处理(插入、删除、修改、查找、排序插入、删除、修改、查找、排序)1数据的逻辑结构数据的逻辑结构2、数据的存储结构、数据的存储结构3、数
16、据的运算:检索、排序、插入、删除、修改等。、数据的运算:检索、排序、插入、删除、修改等。A线性结构线性结构B非线性结构非线性结构A顺序存储顺序存储B链式存储链式存储线性表线性表栈栈队队树形结构树形结构图形结构图形结构数数据据结结构构的的三三个个方方面面数据结构可描述为数据结构可描述为Group=(D,R)1.数据的逻辑结构数据的逻辑结构:是指反映数据元素之间逻辑关系是指反映数据元素之间逻辑关系的数据结构。它包括的数据结构。它包括数据元素的集合和数据元素之间数据元素的集合和数据元素之间的前后关系两个因素。的前后关系两个因素。有限个数据元素的集合有限个数据元素的集合有限个数据元素有限个数据元素间关
17、系的集合间关系的集合数据的逻辑结构数据的逻辑结构简称简称数据结构。数据结构。数据元素数据元素(Data Element)(Data Element)数据元素是数据的基本单位,即数据数据元素是数据的基本单位,即数据集合中的个体。集合中的个体。有时一个数据元素可由若干有时一个数据元素可由若干数据项数据项(Data Item)(Data Item)组成。数据项是数据的最小组成。数据项是数据的最小单位。单位。数据元素亦称数据元素亦称结点结点或或记录记录。线性线性树树图图常用数据结构常用数据结构:A.线性结构线性结构(A,B,C,,X,Y,Z)例例:学生成绩表学生成绩表8686胡孝臣胡孝臣9861103
18、98611039595刘忠赏刘忠赏98611079861107100100张卓张卓98611099861109成绩成绩姓名姓名学号学号线性表线性表栈栈后进先出后进先出队列队列先进先出先进先出例例:英文字母表英文字母表数据结构数据结构S=(D,R)D=春春,夏夏,秋秋,冬冬R=,什么型的数据结构什么型的数据结构?用图形工具用图形工具线性结构线性结构数据元素:用中间标有元素值的方框表示,称为结点数据元素:用中间标有元素值的方框表示,称为结点逻辑关系:用有向线段从前件指向后件(不引起误会逻辑关系:用有向线段从前件指向后件(不引起误会情况下,箭头可以省去)情况下,箭头可以省去)冬冬春春夏夏秋秋树形结构
19、树形结构例例:家庭成员数据结构可表示成家庭成员数据结构可表示成例例:计算机文件管理系统也是典型的树形结构计算机文件管理系统也是典型的树形结构B非线性结构非线性结构父亲父亲儿子儿子女儿女儿没有前件的结点称为根结点;没有前件的结点称为根结点;没有后件的结点称为终端结点没有后件的结点称为终端结点(叶子结点)(叶子结点)1423例例:数据结构数据结构B(D,R)D=1,2,3,4R=(1,2),(1,3),(1,4),(2,3),(3,4),(2,4)213例例:数据结构数据结构C(D,R)D=1,2,3R=,图形结构图形结构元素元素n n.元素元素i i.元素元素2 2元素元素1 1LoLo+mLo
20、+(i-1)*mLo+(n-1)*m存储地址存储地址存储内容存储内容Loc(ai)=Lo+(i-1)*m1、顺序存储、顺序存储每个元素所占用每个元素所占用的存储单元个数的存储单元个数(3)存储结构)存储结构例:线性表例:线性表(zhao,qian,sun,li,zhou,wu,zheng,wang)顺序存储结构:顺序存储结构:存储地址存储地址数据数据7891011121314zhaoqiansunlizhouwuzhengwang7基地址基地址顺序存储结构,将逻辑上相邻的顺序存储结构,将逻辑上相邻的数据元素存储在物理上相邻的存数据元素存储在物理上相邻的存储单元里储单元里,具有以下特点具有以下特
21、点:1.随机存取。随机存取。2.作插入或删除操作时,需移动作插入或删除操作时,需移动大量元数。大量元数。3.长度变化较大时,需按最大空长度变化较大时,需按最大空间分配。间分配。4.表的容量难以扩充。表的容量难以扩充。2、链式存储、链式存储每个节点都由两部分组成:每个节点都由两部分组成:数据域数据域和和指针域指针域。数据域数据域存放元素本身的数据,存放元素本身的数据,指针域指针域存放指针。存放指针。数据元素之间逻辑上的联系由数据元素之间逻辑上的联系由指针来体现。指针来体现。例:线性表例:线性表(zhao,qian,sun,li,zhou,wu,zheng,wang)链式存储结构:链式存储结构:存
22、储地址存储地址数据数据17131925313743liqiansunwangwuzhaozhengzhou指针指针43131null377192531头指针头指针通常我们把链表画成用通常我们把链表画成用箭头箭头相链接的结点的序列,结点相链接的结点的序列,结点之间的箭头表示链域中的指针。之间的箭头表示链域中的指针。zhaoqiansunlizhouwuzhengwang/H存储地址存储地址数据数据17131925313743liqiansunwangwuzhaozhengzhou指针指针43131null377192531头指针头指针1.比顺序存储结构多用空间比顺序存储结构多用空间(存储密度小存
23、储密度小)(每个节点都由数据域和指针每个节点都由数据域和指针域域组成组成)。2.逻辑上相邻的节点物理上不必相邻。逻辑上相邻的节点物理上不必相邻。3.插入、删除灵活插入、删除灵活(不必移动节点,只要改变节点中的指针不必移动节点,只要改变节点中的指针)。4.非随机存取。非随机存取。链接存储结构特点:链接存储结构特点:1数据的逻辑结构数据的逻辑结构2、数据的存储结构、数据的存储结构3、数据的运算:检索、排序、插入、删除、修改等。、数据的运算:检索、排序、插入、删除、修改等。A线性结构线性结构B非线性结构非线性结构A顺序存储顺序存储B链式存储链式存储线性表线性表栈栈队队树形结构树形结构图形结构图形结构
24、数数据据结结构构的的三三个个方方面面(亦称物理结构亦称物理结构)n链表不具有的特点是链表不具有的特点是A)不必事先估计存储空间不必事先估计存储空间 B)可随机访问任一元素可随机访问任一元素C)插入删除不需要移动元素插入删除不需要移动元素D)所需空间与线性表长度成正比所需空间与线性表长度成正比n数据结构分为逻辑结构与存储结构,线性链表属于数据结构分为逻辑结构与存储结构,线性链表属于 【1】。n数据结构中,与所使用的计算机无关的是数据的数据结构中,与所使用的计算机无关的是数据的 A)存储结构存储结构B)物理结构物理结构 C)逻辑结构逻辑结构D)物理和存储结构物理和存储结构 n数据的逻辑结构有线性结
25、构和数据的逻辑结构有线性结构和【1】两大类。两大类。n数据的存储结构是指数据的存储结构是指A)数据所占的存储空间)数据所占的存储空间B)数据的逻辑结构在计算机中的表示)数据的逻辑结构在计算机中的表示C)数据在计算机中的顺序存储方式)数据在计算机中的顺序存储方式D)存储在外存中的数据)存储在外存中的数据 例题讲解例题讲解存储结构存储结构 非线性结构非线性结构n顺序存储方法是把逻辑上相邻的结点存储在物理位置顺序存储方法是把逻辑上相邻的结点存储在物理位置【2】的存储单元中。的存储单元中。n数据处理的最小单位是数据处理的最小单位是 A)数据数据 B)数据元素数据元素 C)数据项数据项 D)数据结构数据
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 二级 公共 基础知识 数据结构 算法 教学 教材
限制150内