分享
分销 收藏 举报 申诉 / 175

类型全国计算机二级公共基础知识总结.ppt

  • 上传人:a199****6536
  • 文档编号:14604276
  • 上传时间:2026-10-19
  • 格式:PPT
  • 页数:175
  • 大小:1.91MB
  • 下载积分:10 金币
  • 配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    全国计算机 二级 公共 基础知识 总结
    资源描述:
    *,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,全国计算机二级公共基础知识总结,全国计算机二级公共基础知识总结全国计算机二级公共基础知识总结二、考核重点为基本概念、基本方法,和基本运算你应该知道 计算机等级二级理论考试中涉及的题目都是基本概念、基本方法和基本运算,考核以概念和认识性内容为主,理解性、应用性内容偏少。2,二、考核重点为基本概念、基本方法,和基本运算,你应该知道,计算机等级二级理论考试中涉及的题目都是基本概念、基本方法和基本运算,考核以概念和认识性内容为主,理解性、应用性内容偏少。,2,三、考核重点是数据结构和算法,你应该知道,以下是对以往二级理论考试的大概统计:,算法及数据结构,:,35%,程序设计基础,:,10%,软件,工程基础,:,26%,数据库设计基础,:,29%,3,四、几点复习及应试建议,复习的关键是,考生必须准确判断和掌握常见考点,公共基础知识部分的知识点多、杂,考生在学习过程中应理,清其中的,脉络关系(即框架提纲),,才能有效地组织和记住,各知识点,多做习题,,强化知识点学习,。,4,1、了解算法的基本概念和一些常用的算法,学会计算算法的时间复杂度;,2、掌握数据结构的基本概念,并了解数据的逻辑结构和存储结构,学会利,用图形的方式表示数据结构;,学,习,目,标,与,要,求,算法与数据结构:,3、了解线性表的基本概念,并掌握线性表的顺序存储结构以及顺序存储的,线性表的基本运算;,4、了解栈和队列的基本概念,并掌握它们的基本运算;,5、了解线性链表的基本概念,并掌握线性链表的基本运算,同时,了解循,环链表的基本概念和基本操作;,6、理解树的概念,尤其是二叉树的基本概念和相关性质,掌握二叉树的存,储结构和遍历技术;,7、掌握查找技术,学会利用顺序查找和二分查找在数列中查找指定的数据;,8、学会利用相关的排序技术实现无序数列的排序操作。,5,1、了解软件工程的基本概念;,2、了解软件工程过程与软件的生命周期,以及软件工程的目标和原则;,学,习,目,标,与,要,求,软件工程,:,3、了解利用结构化分析法进行软件工程中的需求分析的方法,并了解需,求分析的方法和需要完成的任务;,4、了解数据流图的使用方法;,5、了解如何利用结构化设计方法进行软件设计,并了解软件设计的一些,常用工具;,6、了解软件测试的目的和方法,以及软件测试的准则,了解常用的软件,测试方法的区别和各自的功能与特点;,7、了解程序调试的方法和原则。,6,1、了解程序设计的方法,以及程序设计风格确立的一些因素,掌握程序,设计的基本规则;,2、了解结构化程序设计的基本原则,掌握结构化程序设计的基本结构与特点;,学,习,目,标,与,要,求,程序设计基础,:,3、了解面向对象的程序设计方法,并理解面向对象方法的一些基本概念。,数据库系统,:,1、了解数据库系统的基本概念,以及数据库系统的发展;,2、了解数据模型的基本概念,并对,E-R,模型、层次模型、网状模型和关系模型,进行了解,并掌握关系模型的数据结构、关系的操作和数据约束等知识;,3、了解关系模型的基本操作,掌握关系模型的基本运算及扩充运算;,4、了解数据库的设计与管理,掌握数据库设计的几个阶段的方法和特点。,7,算,法,与,数,据,结,构,一、算法(,algorithm,),1、算法的基本概念,(,汉诺塔的例子,),算法是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一条指令表示一个或多个操作。它是一组严谨地定义运算顺序的规则,并且每一个规则都是有效的,且是明确的,此顺序将在有限的次数下终止。,算法具有,可行性,、,确定性,、,有穷性,、,输入,和,输出,(拥有足够的情报)等个重要特性。,8,汉 诺 塔,1-B,2-C,1-C,3-B,1-A,2-B,1-B,A,B,C,1,2,3,算法:,算法:对特定问题求解步骤的一种描述。,算法的描述方法:自然语言、专用工具或某种计算机语言。,返回,9,学,习,目,标,与,要,求,2、算法的基本要素,(1),对数据对象的运算和操作:,算术运算、逻辑运算、关系运算、数据传输,算法中各操作之间的执行顺序;,描述算法的工具,通常有传统流程图、,N-S,结构化流程,图、算法描述语言等;,一个算法一般可以用,顺序,、,选择,、,循环,三种基本结构,组合而成。,(2),算法的控制结构:,10,算,法,与,数,据,结,构,3、算法设计的基本方法,及例子,列举法,(列出所有可能,再逐一检验,得到符合条件的结果),百钱买百鸡,归纳法,(通过特殊情况,经过分析,最后找出一般关系),递推,(从已知的初始条件出发,逐步推算,得到结果),猴子分食桃子,递归,(将问题逐层分解,最后归结为一些最简单的问题),求年龄问题,减半递推,(重复将问题的规模减半,而问题性质不变),二分法求方程实根,回溯法,(以最优方式向前试探,如果失败,则后退再选),八皇后问题,11,算,法,与,数,据,结,构,3,、算法的复杂度,(1),时间复杂度,依据算法编制的程序在计算机上运行时所消耗的时间,来度量。通常有,事后统计法,和,事前分析估算法,。,一个算法是由,控制结构,(顺序、分支和循环)和,原操,作,构成的,,算法时间,取决于两者的综合效果。,算法中,基本操作重复执行次数,n,和算法执行时间同步,增长,称作算法的,时间复杂度,。,12,算,法,与,数,据,结,构,(2),空间复杂度,一般是指执行这个算法所需要的,内存空间,。,一个算法所占用的存储空间包括,算法程序,所占的空间、,输入的初始数据,所占的存储空间以及,某种数据结构,所需,要的附加存储空间。,一个上机执行的程序除了需要存储空间来寄存本身所用,指令、常数、变量和输入数据外,也需要一些对数据进,行操作的工作单元和存储一些为实现计算所需信息的辅,助空间。,13,算,法,与,数,据,结,构,3、例题讲解,算法的时间复杂度是指(,C,),A、,执行算法程序所需要的时间,B、,算法程序的长度,C、,算法执行过程中所需要的基本运算次数,D、,算法程序中的指令条数,算法的基本特征是可行性、确定性、,【1】,和拥有足够,的情报。,【答案】,:,有穷性,算法的空间复杂度是指(,D,),A),算法程序的长度,B),算法程序中的指令条数,C),算法程序所占的存储空间,D),执行过程中所需要的存储空间,14,算,法,与,数,据,结,构,在计算机中,算法是指(,B,),A),加工方法,B),解题方案的准确而完整的描述,C),排序方法,D),查询方法,算法分析的目的是(,D,),A),找出数据结构的合理性,B),找出算法中输入和输出之间的关系,C),分析算法的易懂性和可靠性,D),分析算法的效率以求改进,算法的工作量大小和实现算法所需的存储单元多少分别称,为算法的,【1】,。,【答案】,:,时间复杂度和空间复杂度,15,算,法,与,数,据,结,构,二、数据结构(,Data Structure,),1、数据结构研究的主要内容,当今计算机应用的,特点,:,1、所处理的数据量大且具有一定的关系;,2、对其操作不再是单纯的数值计算,而更多地是需,要对其进行组织、管理和检索。,对数据的讨论不单单是数据本身,还要包括数据与数据之间的关系。,下面各例表示不同的数据采用不同的数据结构来组织。,16,特点:,每个学生的信息占据一行,所有学生的信息按学号顺序依次排列构成一张表格;,表中每个学生的信息依据学号的大小存在着一种前后关系,这就是我们所说的线性结构;,对它的操作通常是插入某个学生的信息,删除某个学生的信息,更新某个学生的信息,按条件检索某个学生的信息等等。,应用举例,1学籍档案管理,假设一个学籍档案管理系统应包含如下表所示的学生信息。,17,应用举例,2,家庭血缘关系图,表示家庭成员的辈分关系,,使用下图1-1所示的形式描述。,图 1-1,家庭血缘关系图,特点:,在求解过程中,所处理的数据之间具有层次关系,这是我们,所说的,树形结构,;,对它的操作有:建立树形结构,输出最结点内容等等。,18,应用举例,3,制定教学计划,在制定教学计划时,需要考虑各门课程的开设顺序。有些课程需要先导课程,有些课程则不需要,而有些课程又是其他课程的先导课程。比如,计算机专业课程的开设情况如下表所示:,19,这种数据可以用下面的图来表示:,19,课程先后关系的图形描形式:,c1,c9,c4,c2,c12,c10,c11,c5,c3,c6,c7,c8,图 1-2 计算机专业必修课程开设先后关系,20,20,1、数据的逻辑结构,2、数据的存储结构,3、数据的运算:检索、排序、插入、删除、修改等。,A,线性结构,B,非线性结构,A,顺序存储,B,链式存储,线性表,栈,队,树形结构,图形结构,数据结构的三个方面,(亦称物理结构),数据结构的主要研究问题:,21,21,2、基本概念和术语,数据结构是一门研究,数据,组织,、,存储,和,运算,的一般方法的学科。,例:,整数,(1,2)、,实数,(1.1,1.2),字符串,(,Beijing)、,图形,、,声音,。,计算机管理图书问题:,在图书馆里有各种卡片:有按书名编排的、有按作,者编排的、有按分类编排。如何将查询图书的这些信息,存入计算机中既要考虑查询时间短,又要考虑节省空间。,最简单的办法之一是建立一张表,每一本书的信息在表,中占一行,如:,22,22,数据元素在计算机中的表示,数据结构是一门研究,数据,组织,、,存储,和,运算,的一般方法的学科。,如何将0,1,2,3,4,5,6,7,8,9这10个数存放在计算机中能最快地达到你所需要的目的?,目的不同,最佳的存储方方法就不同。,从大到小排列:9,8,7,6,5,4,3,2,1,0,输出偶数:0,2,4,6,8,1,3,5,7,9,对数据结构中的节点进行操作处理,(插入、删除、修改、查找、排序),23,23,数据元素(,Data Element),数据元素是数据的基本单位,即数据集合中的个体。,有时一个数据元素可由若干,数据项,(,Data Item,),组成。数据项是数据的最小单位。,数据元素亦称,节点,或,记录,。,数据结构可描述为,Group=(D,R),有限个数据元素的集合,有限个节点间关系的集合,24,24,数据结构可描述为,Group=(D,R),例,1,:一年四季的数据结构可表示成,B=,(,D,,,R,),D=,春,夏,秋,冬,R=,(春,夏),(夏,秋),(秋,冬),例,2,:家庭成员数据结构可表示成,B=,(,D,,,R,),D=,父亲,儿子,女儿,R=,(父亲,儿子),(父亲,女儿),25,数据结构也可用图形表示,一年四季的数据结构可表示成,家庭成员数据结构可表示成,冬,春,夏,秋,父亲,儿子,女儿,(概念:结点、前件、后件、根结点、叶子),26,树形结构,全校学生档案管理的组织方式,计算机程序管理系统也是典型的树形结构。,27,1,4,2,3,D=1,2,3,4,R=(1,2),(1,3),(1,4),(2,3),(3,4),(2,4),2,1,3,D=1,2,3,R=(1,2),(2,3),(3,2),(1,3),图形结构节点间的连结是任意的,28,3、例题讲解,数据处理的最小单位是(,C,),A),数据,B),数据元素,C),数据项,D),数据结构,数据结构作为计算机的一门学科,主要研究数据的逻辑结构、对各种数据结构进行的运算,以及(,A,),A),数据的存储结构,B),计算方法,C),数据映象,D),逻辑存储,数据结构包括数据的逻辑结构、数据的,【4】,以及对数据的操作运算。,【答案,】,物理结构(或存储结构),29,线性结构与非线性结构:,线性结构:有且只有一个根结点;每一个结点最多有一个前件,也最多有一个后件。,如:一年四季,,26,个英文字母,非线性结构:线性以外的数据结构。,如:反映家庭成员间辈分关系的数据结构,算,法,与,数,据,结,构,30,结点间是以线性关系联结,,如前面提到的:,一年四季,26,个英文字母,线性 有限 序列,4,、线性表,(,Linear List),线性表,:具有线性结构的有限序列。,A,B,C,D,Z,春,夏,秋,冬,31,学生成绩表,线性表,32,数据元素、结点、记录,数据项,线性,33,线性表的定义:,线性表,是,n,个元素的有限序列,它们之间的关系可以排成,一个线性序列:,a1,a2,,ai,,an,其中,n,称作表的,长度,,当,n=0,时,称作,空表,。,线性表的特点:,1、线性表中所有元素的性质相同。,2、除第一个和最后一个数据元素之外,其它数据元素有且,仅有一个前驱和一个后继。第一个数据元素无前驱,最,后一个数据元素无后继。,3、数据元素在表中的位置只取决于它自身的序号。,在线性表上常用的运算有:,初始化、求长度、取元素、修改、前插、删除、检索、排序,34,34,线性表的,顺序存储结构,及其,插入,与,删除,操作,特点:,1、线性表中数据元素类型一致,只有数据域,存储空间,利用率高。,2、所有元素所占的存储空间是连续的。,3、各数据元素在存储空间中是按逻辑顺序依次存放的,(,a),做插入、删除时需移动大量元素。,(,b),空间估计不明时,按最大空间分配。,算,法,与,数,据,结,构,35,顺序存储,存储地址,存储内容,元素,n,.,元素,i,.,元素2,元素1,L,o,Lo+,m,Lo+(i-1),m,Lo+(n-1),m,Loc(,元素,i)=L,o,+(i-1),m,每个元素所占用,的存储单元个数,线性表的,顺序存储结构,:,首地址,起始地址,基地址,36,插入运算,a,i-1,.,a,2,a,1,a,length,a,i+1,a,i,a,length,插入算法的分析,假设线性表中含有,n,个数据元素,在进行插入操作时,若,假定在,n+1,个位置上插入元素的可能性均等,则平均移动元素,的个数为:,37,X,a,i-1,.,a,2,a,1,a,length,a,i+1,a,i,X,37,在进行删除操作时,若假定删除每个元素的可能性均等,,则平均移动元素的个数为:,分析结论,顺序存储结构表示的线性表,在做插入或删除操作时,平,均需要移动大约一半的数据元素。当线性表的数据元素量较大,并且经常要对其做插入或删除操作时,这一点需要值得考虑。,删除算法的分析,38,38,线性表的例题讲解,顺序存储方法是把逻辑上相邻的结点存储在物理位置,【1】,的存储单元中。,【答案,】,相邻,长度为,n,的顺序存储线性表中,当在任何位置上插入一个元,素概率都相等时,插入一个元素所需移动元素的平均个数,为,【2】,。,【答案,】,n/2,线性表,L=(a1,a2,a3,ai,,an),,下列说法正确的是(,D,),A),每个元素都有一个直接前件和直接后件,B),线性表中至少要有一个元素,C),表中诸元素的排列顺序必须是由小到大或由大到小,D),除第一个元素和最后一个元素外,其余每个元素都有一,个且只有一个直接前件和直接后件,39,39,数据结构中,与所使用的计算机无关的是数据的(,C,),A),存储结构,B),物理结构,C),逻辑结构,D),物理和存储结构,下列叙述中,错误的是(,B,),A),数据的存储结构与数据处理的效率密切相关,B),数据的存储结构与数据处理的效率无关,C),数据的存储结构在计算机中所占的空间不一定是连续的,D),一种数据的逻辑结构可以有多种存储结构,数据的存储结构是指(,B,),A),数据所占的存储空间,B),数据的逻辑结构在计算机中的表示,C),数据在计算机中的顺序存储方式,D),存储在外存中的数据,40,根据数据结构中各数据元素之间前后件关系的复杂程度,一般将数据结构分成(,C,),A),动态结构和静态结构,B),紧凑结构和非紧凑结构,C),线性结构和非线性结构,D),内部结构和外部结构,数据的逻辑结构有线性结构和,【2】,两大类。,非线性结构,当线性表采用顺序存储结构实现存储时,其主要特点是,【1】,。,【答案,】,逻辑结构中相邻的结点在存储结构中仍相邻。,41,41,a,1,a,2,.,a,n,进栈,出栈,栈顶,栈底,5、堆栈和队列,堆栈和队列的定义,栈和队列是两种特殊的线性表,它们是运算时要受到某些限制的线性表,故也称为限定性的数据结构。,堆栈的定义,堆栈:限定只能在表的一端进行插入和删除的特殊的线性表,此种,结构称为后进先出。设栈,s=(a,1,,a,2,,a,i,,a,n,),其中,a,1,是栈底元素,,a,n,是栈顶元素。,栈顶(,top):,允许插入和删除的一端;,约定,top,始终指向新数据元素将存放的位置。,栈底(,bottom):,不允许插入和删除的一端。,42,42,队列的定义,队列:一种特殊的线性结构,限定只能在表的一端进行插入,,在表的另一端进行删除的线性表 。此种结构称为,先进,先出(,FIFO),表,。,a,1,a,2,a,3,a,4,a,n-1,a,n,队 列 示 意 图,队头,队尾,队列的主要运算,(,1)设置一个空队列;,(2)插入一个新的队尾元素,称为进队;,(3)删除队头元素,称为出队;,(4)读取队头元素;,43,43,堆栈和队列的例题讲解,栈和队列的共同特点是(,C,),A),都是先进先出,B),都是先进后出,C),只允许在端点处插入和删除元素,D),没有共同点,如果进栈序列为,e1,e2,e3,e4,,则可能的出栈序列是(,B,),A)e3,e1,e4,e2,B)e4,e3,e2,e1,C)e3,e4,e1,e2 D),任意顺序,44,44,a=42+b,8,2,6,b=63+c,c=32+d,d=1+2,=8 +b,=2 +c,=6 +d,=3,8,2,6,一些重要的程序语言(如,C,语言和,Pascal,语言)允许过程的递归调用。而实现递归调用中的存储分配通常用(,A,),A),栈,B),堆,C),数组,D),链表,45,当循环队列非空且队尾指针等于队头指针时,说明循环队列已满,不能进行入队运算。这种情况称为,【2】,。,答案:,上溢,由两个栈共享一个存储空间的好处是(,B,),A),减少存取时间,降低下溢发生的机率,B),节省存储空间,降低上溢发生的机率,C),减少存取时间,降低上溢发生的机率,D),节省存储空间,降低下溢发生的机率,下列关于栈的叙述中正确的是(,D,),)在栈中只能插入数据,B),在栈中只能删除数据,C),栈是先进先出的线性表,D),栈是后进先出的线性表,下列关于队列的叙述中正确的是(,C,),)在队列中只能插入数据,B),在队列中只能删除数据,C),队列是先进先出的线性表,D),队列是后进先出的线性表,46,两个栈共享只有两个栈都多时才溢出。不共享的话,两个栈只有一个栈多就溢出,,Rear,队尾,Front,队头,46,栈底至栈顶依次存放元素,A、B、C、D,,在第五个元素,E,入栈前,栈中元素可以出栈,则出栈序列可能是(,B,),A)ABCED,B)DCBEA,C)DBCEA D)CDABE,47,D,出,C,出,B,出 ,E,出,A,出,E,进,时间顺序,出栈:,进栈:,47,顺序存储结构常用于线性数据结构,将逻辑上相邻的数据元素存储在物理上相邻的存储单元里。,顺序存储结构的三个,缺点,:,1.作插入或删除操作时,需移动大量元数。,2.长度变化较大时,需按最大空间分配。,3.表的容量难以扩充。,存储内容,元素,n,.,元素,i,.,元素2,元素1,48,48,6、,线性表的链式存储,线性链表,线性链表的基本概念:,线性表的链式存储结构称为,线性链表,。,为了适应线性表的链式存储结构,计,算机存储空间被划分为一个一个小块,每,一小块占若干字节,通常称这些小块为存,储结点。,算,法,与,数,据,结,构,49,将存储空间中的每一个存储结点分为两部:,一部分称为,数据域,,用于存储数据元素的值,;,另一部分称为,指针域,,用于存放下一个数据元素的存储序号,(即存储结点的地址),,也就是指向后件结点,.,线性链表中存储结点的结构如图2.20所示,50,50,指向线性表中第一个结点的指针,HEAD,称为,头指针,。,当,HEAD=NULL,(或0)时称为,空表,。,对于线性链表,可以从头指针开始,沿着各,个结点的指针扫描到链表中的所有结点。,线性链表的逻辑结构图所示,51,1、比顺序存储结构的存储密度小,(每个节点都由数据域和指针域组成,所以相同空间内假设全存满的话顺序比链式存储更多)。,2、逻辑上相邻的节点物理上不必相邻。,3、插入、删除灵活,(不必移动节点,只要改变节点中的指针)。,4,、查找结点时链式存储要比顺序存储慢。,链接存储结构特点:,算,法,与,数,据,结,构,52,53,53,线性链表的基本运算:,线性链表的运算主要有以下几个:,在线性链表中包含指定元素的结点之前,插入,一个新元素。,在线性链表中,删除,包含指定元素的结点。,将两个线性链表按要求,合并,成一个线性,链表。,54,线性链表的,插入,运算:,线性链表的插入,是指在链式存储结构下,的线性表中插入一个新元素。,为了要在线性链表中插入一个新元素,,首先要给该元素分配一个新结点,然后将存,放新元素值的结点链接到线性链表中指定的,位置。,算,法,与,数,据,结,构,55,56,56,线性链表的删除,指在链式存储结构下的,线性表中删除包含指定元素的结点。,为了在线性链表中删除包含指定元素的,结点,首先要在线性链表中找到这个结点,,然后将要删除结点放回到可利用栈。,线性链表的,删除,运算:,算,法,与,数,据,结,构,57,58,58,循环链表的结构与前面所讨论的线性链表相比,具有以下,两个特点:,循环链表的头指针指向表头结点。,在循环链表中,所有结点的指针构成了一个环状链。,图2.29是循环链表的示意图。,循环链表:,59,59,在实际应用中,循环链表与线性单链表相,比主要有以下两个方面的优点:,在循环链表中,只要指出表中任何一个结点,的位置,就可以从它出发访问到表中其他所,有的结点。,由于在循环链表中设置了一个表头结点,因,此,在任何情况下,循环链表中至少有一个,结点存在,从而使空表与非空表的运算统一。,算,法,与,数,据,结,构,60,链表不具有的特点是(,B,),A),不必事先估计存储空间,B),可随机访问任一元素,C),插入删除不需要移动元素,D),所需空间与线性表长度成正比,数据结构分为逻辑结构与存储结构,线性链表属于,【1】,。,【答案,】,存储结构,栈,通常采用的两种存储结构是(,A,),A),顺序存储结构和链表存储结构,B),散列方式和索引方式,C),链表存储结构和数组,D),线性存储结构和非线性存储结构,线性链表的例题讲解,61,61,线性表的顺序存储结构和线性表的链式存储结构分别是,(,C,),A),顺序存取的存储结构、顺序存取的存储结构,B),顺序存取的存储结构、随机存取的存储结构,C),随机存取的存储结构、顺序存取的存储结构,D),任意存取的存储结构、任意存取的存储结构,顺序存储结构的地址在内存中是连续的所以可以通过计算地址实现随机存取,而链式存储结构的存储地址不一定连续,只能通过第,1,个结点的指针顺序存取;,62,7、树与二叉树:,树的基本概念:,前面我们讨论的线性表,栈、队列和数,组等都是,线性结构,。而,树,是一种,非线性数据,结构,,它的每一个结点,都可以有不止一个,直接后继,除根外的所有结点,都有且只有,一个直接前趋。,这些数据结点按分支关系组,织起来,清晰地反映了数据元素之间的层次,关系。,63,算,法,与,数,据,结,构,现实世界中,能用树的结构表示的例子,:,学校的行政关系、书的层次结构、人类的家族血缘关系等。,64,65,65,66,66,二叉树,(,binary tree),是一种很有用的非线,性结构。,二叉树具有以下两个特点:,(1)非空二叉树只有一个根结点;,(2)每一个结点最多有两棵子树,且分别,称为该结点的左子树与右子树。,二叉树(,Binary Tree):,因为树的每个结点的度不同,存储困难,使对树的处理算法很复杂。所以引出二叉树,的讨论。,67,67,68,68,性质1,:在任意一棵二叉树中,度为0的结点,(即叶子结点)总是比度为2的结点多,一个。,二叉树的性质:,特别要注意:二叉树是,树的特殊情况。,a,a,b,b,两棵不同的二叉树,69,例子1,:某二叉树中度为2的结点有18个,则,该二叉树中有,19,个叶子结点。,叶子,即度为,0,69,性质2,:二叉树的第,i,层上,至多,有2,i-1,(i,1),个结点,二叉树的性质:,4,2,3,1,6,7,8,9,10,11,12,13,14,15,5,第三层上(,i=3),,有2,3-1,=4个节点。,第四层上(,i=4),,有2,4-1,=8个节点。,70,二叉树的性质:,性质3,:,深度为,h,的二叉树中,至多,含有2,h,-1,个结点,4,2,3,1,6,7,8,9,10,11,12,13,14,15,5,此树的深度,h=4,,共有2,4,-1=15个节点。,71,满二叉树与完全二叉树,满二叉树,是指除最后一层外,每一层上的所,有结点都有两个子结点。,完全二叉树,是指这样的二叉树:除最后一层,外,每一层上的结点数均达到最大值;在最后一,层上只缺少右边的若干结点。,注意:满二叉树是完全二叉树,完全二叉树,不一定是满二叉树。,算,法,与,数,据,结,构,72,满二叉树的特点:,每一层上都含有最大结点数。,73,73,完全二叉树的特点:,除最后一层外,每一层都取最大 结点数,最后一层结点都集中在该层最左边的若干位置,74,74,对于完全二叉树而言,如果它的结点个数为,偶,数,则该二叉树中:,叶子结点的个数=非叶子结点的个数,如果它的结点个数为,奇,数,则该二叉树中:,叶子结点的个数=非叶子结点的个数+1,(即叶子结点数比非叶子结点数,多一个,),规律总结:,算,法,与,数,据,结,构,75,例题讲解,1、设一棵完全二叉树共有700个结点,则,在该二叉树中有,350,个叶子结点。,2、在深度为5的满二叉树中,,叶子,结点的,个数为(,C,)(,即第,5,层的叶子个数,2,i-1,),A)32 B)31 C)16 D)15,算,法,与,数,据,结,构,76,二叉树的遍历,二叉树的遍历,是指不重复地访问二叉树中的,所有结点。,二叉树的遍历可以分为三种:,前序,遍历、,中,序,遍历、,后序,遍历。,设访问根结点记作,V;,遍历根的左子树记作,L;,遍历根的右子树记作,R;,前序:,VLR(,即根左右),中序:,LVR(,即左根右),后序:,LRV(,即左右根),77,77,78,78,1、设一棵二叉树的中序遍历结果为,DBEAFC,前序遍历结果为,ABDECF,,则后序遍历结,果为:,DEBFCA,例题讲解,2、已知一棵二叉树前序遍历和中序遍历分别,为,ABDEGCFH,和,DBGEACHF,,则该二叉树,的后序遍历为(,B,),A)GEDHFBCA B)DGEBHFCA,C)ABCDEFGH D)ACBFEDHG,前序:,ABDECF,(前序:根最先访问,,根,必在第一个),中序:,DBEAFC,(由上可知中序,根,所在,划分出左右子树),前序:,A BDE CF,中序:,DBE A FC,前序:,A BDE CF,中序:,DBE A FC,79,具有3个结点的二叉树有(,D,),A)2,种形态,B)4,种形态,C)7,种形态,D)5,种形态,设有下列二叉树:,对此二叉树前序遍历的结果为(,B,),A)ZBTTCPXA,B)ATBZXCTP,C)ZBTACTXP D)ATBZXCPT,80,80,8、查找和排序:,查找又称为,检索,查找算法的评价主要考虑算法的时间复杂,性,既可以采用数量级的形式表示,也可以采,用平均检索(查找)长度,即在查找成功情况,下的平均比较次数来表示。,查找可分为,顺序查找,和,二分法查找,两种。,算,法,与,数,据,结,构,81,(,a),顺序查找:,顺序查找,又称,线性查找,。它是一种最简单、,最基本的查找方法。基本思想是:从表中第一,条记录开始,逐个进行记录的关键字和给定值,的比较。若某个记录的关键字和给定值相等,,则查找成功;否则,若直至最后一个记录,其,关键字和给定值都不相等,则表明表中没有所,查记录,查找不成功。,算,法,与,数,据,结,构,82,二分查找,又称,折半查找,。作为二分查找对,象的表必须是顺序存储的有序表,即各记录的,次序是按其关键字的,大小顺序,(以下假定按从,小到大的顺序)排列的表。,(,b),二分查找:,算,法,与,数,据,结,构,83,二分查找的具体做法是:先取表中间位置的记录关,键字与给定值比较。若相等,则查找成功;否则,若给,定值比该记录的关键字小,则给定值必在表的前半部分。,在这前半部分中再取中间位置记录的关键字进行比较,,就又可以排除这部分的一半。依次反复进行,直到找到,给定值或找完全表而找不到为止。,在最坏情况下,二分查找 只需要比较次数,:,对于,n,较大时,平均查找长度可以近似地表示为,:,算,法,与,数,据,结,构,例:,2 4 6 7 9 12 22 28 36 45 54 72 80,84,排序,是将一组杂乱无章的数据按一定的规,律顺次排列起来。,通常数据对象有多个属性域,即由多个数,据成员组成,其中有一个属性域可用来区分对象,作为排序依据。该域称为,关键字(,key),。,排序的时间开销是衡量算法好坏的最重要,的标志。对于长度为,n,的有序线性表,查找时最坏情况只需比较,n,次。,排序(,sort),85,(,a),交换类排序:,交换类排序法:,冒泡排序法,:需要比较的次数为,n(n-1)/2,快速排序法,:是对冒泡排序的改进,是目,前内部排序中速度最快的一种。,算,法,与,数,据,结,构,86,(,b),插入类排序:,插入类排序的基本方法是:每步将一个待,排序的对象,按其关键字大小,插入到前面已,经排好序的一组对象的适当位置上,直到对象,全部插入为止,。,简单插入排序法:,最坏情况需要,n(n-1)/2,次比较;,希尔排序法:,最坏情况需要,O(n),次比较。,算,法,与,数,据,结,构,87,(,c),选择类排序:,选择类排序的思想是:每一趟(例如,第,i,趟,,i=0,1,n2),在后面,ni,个待排序对象中选,出关键字最小(升序,若为降序,选出最大关键,字)的对象,作为有序对象序列的第,i,个对象。待,到第,n2,趟作完,待排序对象只剩下1个,不用再,选了,结束排序。,简单选择排序法,,最坏情况需要,n(n-1)/2,次比较;,堆排序法,,最坏情况需要,O(nlog,2,n),次比较。,88,程,序,设,计,基,础,(一)程序设计方法与风格,如何形成良好的程序设计风格:,1、源程序内部文档化;,选择标识符的名字(,有含义,好理解,),注释(,序言性,和,功能性,注释),程序的视觉组织(,空格 空行 缩进,),位于源程序,模块内部,一般位于模块的首部,用于说明模块的相关信息,89,数据说明的次序应该规范化,便于查找变量(按顺序排列),对复杂数据结构应注释说明,2、数据说明,程,序,设,计,基,础,3、语句的结构,每条语句简单明了,尽量不用或少用,GOTO,语句,尽量只采用3种基本控制结构编程,90,4、输入和输出,对所有输入数据进行校验和合理性检查,输入输出格式保持一致,设计良好的输出报表,输入方式,应力求简单,尽量避免给用户带来不必要的麻烦;,交互式输入数据时,应有必要的提示信息,;程序应对输入数据的,合法性进行检查,;若用户输入某些数据后可能,产生严重后果,应,给用户输出必要的提示并要求用户确认;应根据系统的特点和,用户的习惯设计出令,用户满意的输入,方式。,输出数据的格式,应清晰,美观;输出数据时要加上必要的,提示信息。,91,91,结构化程序设计的主要原则是功能分解并,逐步求精。当一些任务十分复杂不易描述时,,可以将它拆分为一系列较小的功能部件,直到,这些子任务小到易于理解和实现的程度。,(,后面详讲,),结构化程序的特点:程序结构仅由顺序、,选择和循环3种结构复合而成。,程,序,设,计,基,础,(二)结构化程序设计,92,(三)面向对象的程序设计方法,面向对象,与,面向过程,(晚会的分析过程),面向对象的程序设计(,Object-Oriented,Programming,OOP,),是一种把面向对象的,思想应用于软件开发过程中,指导开发活动,的系统方法,简称,OO,方法,它是建立在对,象概念(对象、类和继承)基础上的方法。,程,序,设,计,基,础,93,面向对象程序设计方法的优点:,(1)从认知学的角度来看,面向对象方法符,合人们对客观世界的认识规律。,(2)面向对象方法开发的软件系统易于维护,,其体系结构易于理解、扩充和修改。,(3)面向对象方法中的继承机制有力地支持,软件的复用。,程,序,设,计,基,础,94,几个术语:,对象,:,在现实世界中,每个实体都是对象,例如,大学生、汽车、电视机、空调等都是现实世界中的对象,属性,:,通常是一些数据,有时它也可以是另一个对象,事件,:,是由对象识别的一个动作,用户可以编写相应代码对此动作进行响应,方法,:对象中的属性只能通过该对象所提供的操作来存取或修改,程,序,设,计,基,础,95,类,:类是一组具有相同属性和相同操作的对象的集合。,派生类,:由已存在的类派生出来的新类,也叫子类。,基类,:用来生成新类的类。,继承,是指能够直接获得已有的性质和特征,而不必重复定义他们。继承分单继承和多重继承。,单继承,指一个类只允许有一个父类,,多重继承,指一个类允许有多个父类,多态性,是指同样的消息被不同的对象接受时可导致完全不同的行动的现象。,程,序,设,计,基,础,96,水上交通工具,陆上交通工具,水陆两用交通工具,多 重 继 承 图,程,序,设,计,基,础,97,四、例题讲解:,程,序,设,计,基,础,结构化程序设计的3种结构是(,D,),A),顺序结构、选择结构、转移结构,B),分支结构、等价结构、循环结构,C),多分支结构、赋值结构、等价结构,D),顺序结构、选择结构、循环结构,在设计程序时,应采纳的原则之一是(,D,),A),不限制,goto,语句的使用,B),减少或取消注解行,C),程序越短越好,D),程序结构应有助于读者理解,98,程序设计语言的基本成分是数据成分、运算成分、控制成,分和(,D,),A),对象成分,B),变量成分,C),语句成分,D),传输成分,程,序,设,计,基,础,结构化程序设计主要强调的是(,D,),A),程序的规模,B),程序的效率,C),程序设计语言的先进性,D),程序易读性,以下不属于对象的基本特点的是(,C,),标识唯一性、模独立性好,A),分类性,B),多态性,C),继承性,D),封装性,99,对建立良好的程序设计风格,下面描述正确的是(,A,),A),程序应简单、清晰、可读性好,B),符号名的命名只要符合语法,C),充分考虑程序的执行效率,D),程序的注释可有可无,在结构化程序设计思想提出之前,在程序设计中曾强调程序,的效率,现在,与程序的效率相比,人们更重视程序的(,C,),A),安全性,B),一致性,C),可理解性,D),合理性,程,序,设,计,基,础,100,下列叙述中,不属于结构化程序设计方法的主要原则的是(,B,),A),自顶向下,B),由底向上,C),模块化,D),限制使用,goto,语句,对象实现了数据和操作的结合,是指对数据和数据的操作,进行(,C,),A),结合,B),隐藏,C),封装,D),抽象,在面向对象方法中,一个对象请求另一个对象为其服务的,方式是通过发送(,D,),A),调用语句,B),命令,C),口令,D),消息,程,序,设,计,基,础,101,信息屏蔽的概念与下述哪一种概念直接相关(,B,),A),软件结构定义,B),模块独立性,C),模块
    展开阅读全文

    开通VIP折扣优惠下载文档

    提示  咨信网声明:本文档由用户上传并分享,仅供学习交流、研究之用,未经授权,严禁复制、发行、汇编、翻译或网络传播等,侵权必究。

    咨信网小贴示:
    1、浏览或下载可查看了解,请点击【咨信网告知】。
    2、下载文件中如有侵权或不适当内容,将立即纠正。
    3、如果因为网速或其他原因下载失败请重新下载,重复下载[60天内]不扣币。
    4、开具发票登录电脑端申请,请点击【索取发票】。

    咨信网客服组:【微信客服】

    自信AI创作助手
    关于本文
    本文标题:全国计算机二级公共基础知识总结.ppt
    链接地址:https://www.zixin.com.cn/doc/14604276.html

    Copyright ©2010-2026   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork