版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
全国(quánɡuó)计算机等级考试
二级公共基础知识
1感谢(gǎnxiè)你的观看2019年5月18日第一页,共78页。基本(jīběn)要求1.掌握算法的基本概念。2.掌握基本数据结构(shùjùjiéɡòu)及其操作。3.掌握基本排序和查找算法。4.掌握逐步求精的结构化程序设计方法。5.掌握软件工程的基本方法,具有初步应用相关技术进行软件开发的能力。6.掌握数据的基本知识,了解关系数据库的设计。2感谢(gǎnxiè)你的观看2019年5月18日第二页,共78页。考试内容
一、基本(jīběn)数据结构与算法1.算法的基本概念;算法复杂度的概念和意义(时间复杂度与空间复杂度)。2.数据结构的定义;数据的逻辑结构与存储结构;数据结构的图形表示;线性结构与非线性结构的概念。3.线性表的定义;线性表的顺序(shùnxù)存储结构及其插入与删除运算。4.栈和队列的定义;栈和队列的顺序(shùnxù)存储结构及其基本运算。5.线性单链表、双向链表与循环链表的结构及其基本运算。6.树的基本概念;二叉树的定义及其存储结构;二叉树的前序、中序和后序遍历。7.顺序(shùnxù)查找与二分法查找算法;基本排序算法(交换类排序,选择类排序,插入类排序)。3感谢(gǎnxiè)你的观看2019年5月18日第三页,共78页。二、程序设计(chénɡxùshèjì)基础1.程序设计(chénɡxùshèjì)方法与风格。2.结构化程序设计(chénɡxùshèjì)。3.面向对象的程序设计(chénɡxùshèjì)方法,对象,方法,属性及继承与多态性。4感谢(gǎnxiè)你的观看2019年5月18日第四页,共78页。三、软件工程(ruǎnjiànɡōnɡchénɡ)基础1.软件工程基本概念,软件生命周期概念,软件工具与软件开发环境。2.结构化分析方法,数据流图,数据字典,软件需求规格说明书。3.结构化设计方法,总体设计与详细设计。4.软件测试(cèshì)的方法,白盒测试(cèshì)与黑盒测试(cèshì),测试(cèshì)用例设计,软件测试(cèshì)的实施,单元测试(cèshì)、集成测试(cèshì)和系统测试(cèshì)。5.程序的调试,静态调试与动态调试。5感谢(gǎnxiè)你的观看2019年5月18日第五页,共78页。四、数据库设计(shèjì)基础1.数据库的基本概念:数据库,数据库管理系统,数据库系统。2.数据模型,实体联系模型及E-R图,从E-R图导出关系数据模型。3.关系代数运算,包括集合运算及选择、投影、连接(liánjiē)运算,数据库规范化理论。4.数据库设计方法和步骤:需求分析、概念设计、逻辑设计和物理设计的相关策略。6感谢(gǎnxiè)你的观看2019年5月18日第六页,共78页。考试(kǎoshì)方式1、公共基础的考试方式为笔试(bǐshì),与C语言(VisualBASIC、VisualFoxPro、Java、Access、VisualC++)的笔试(bǐshì)部分合为一张试卷。公共基础部分占全卷的30分。2、公共基础知识有10道选择题和5道填空题。7感谢(gǎnxiè)你的观看2019年5月18日第七页,共78页。学习(xuéxí)方法理解基本概念多做练习适当记忆一些(yīxiē)名词与所学的VBA程序设计知识结合起来,以增加对知识的理解能力8感谢(gǎnxiè)你的观看2019年5月18日第八页,共78页。1.基本(jīběn)数据结构与算法1.1算法(suànfǎ)1.1.1算法(algorithm)基本概念对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一条(yītiáo)指令表示一个或多个操作。它是一组严谨地定义运算顺序的规则,并且每一个规则都是有效的,且是明确的,此顺序将在有限的次数下终止。算法具有有穷性、确定性、可行性、输入和输出(拥有足够的情报)等5个重要特性。9感谢你的观看2019年5月18日第九页,共78页。1.1算法(suànfǎ)的基本概念 算法的定义:一个(yīɡè)有穷的指令集,这些指令为解决某一特定问题规定了一个(yīɡè)运算序列,即方法和步骤,在计算机学科中,算法就是计算机解决问题的过程或步骤。算法是解题方案的准确而完整的描述。算法等于程序?等于计算方法?10感谢(gǎnxiè)你的观看2019年5月18日第十页,共78页。结构化程序算法的特性如下。(1)可行性算法中的操作能够用已经实现的基本运算执行有限次来实现。(2)确定性算法中的每一步都有确切的含义。(3)有穷性一个算法(对任何(rènhé)合法的输入)在执行有穷步后能够结束,并且在有限的时间内完成。(4)拥有足够的情报当算法拥有足够的情报,此算法才是有效的。
考点1:算法的定义
例2.1.1
问题处理方案的正确而完整的描述(miáoshù)称为______。[2005年4月填空第5题]
例2.1.2算法具有4个特性,以下选项中不属于算法特性的是(
)
A.有穷性
B.简洁性
C.可行性
D.确定性
11感谢(gǎnxiè)你的观看2019年5月18日第十一页,共78页。1.1.2算法的基本要素1、对数据对象的运算和操作(cāozuò)算术运算逻辑运算关系运算数据传输2、算法的控制结构算法中各操作(cāozuò)之间的执行顺序描述算法的工具通常有传统流程图、N-S结构化流程图、算法描述语言等一个算法一般可以用顺序、选择、循环三种基本机构组合而成。12感谢(gǎnxiè)你的观看2019年5月18日第十二页,共78页。1.1.3算法(suànfǎ)设计基本方法列举法归纳法递推递归(以简洁的形式设计和描述算法(suànfǎ))减半递推技术回溯法13感谢(gǎnxiè)你的观看2019年5月18日第十三页,共78页。1.2算法(suànfǎ)复杂度1.2.1时间复杂度依据算法算法编制的程序在计算机上运行时所消耗(xiāohào)的时间来度量。通常有事后统计法和事前分析估算法。一个算法是由控制结构(顺序、分支和循环)和原操作构成的,算法时间取决于两者的综合效果。算法中基本操作重复执行次数n和算法执行时间同步增长,称作算法的时间复杂度。14感谢(gǎnxiè)你的观看2019年5月18日第十四页,共78页。 算法的时间复杂度指算法的时间耗费,算法时间是由控制结构和原操作的决定的。算法中基本操作重复执行的次数是问题规模n的某个函数f(n),记作:T(n)=O(f(n)) 它表示随问题规模n的增大,算法执行时间的增长率和f(n)的增长率相同。 算法的时间复杂度用来(yònɡlái)衡量算法执行过程中所需要的基本运算次数。算法的时间复杂度是指算法所需要的计算工作量。15感谢(gǎnxiè)你的观看2019年5月18日第十五页,共78页。1.2.2算法的空间复杂度一般是指执行这个算法所需要的内存空间一个算法所占用的存储空间包括算法程序所占的空间、输入的初始数据所占的存储空间以及某种数据结构所需要的附加存储空间一个上机执行的程序除了(chúle)需要存储空间来寄存本身所用指令、常数、变量和输入数据外,也需要一些对数据进行操作的工作单元和存储一些为实现计算所需信息的辅助空间。16感谢(gǎnxiè)你的观看2019年5月18日第十六页,共78页。 算法的空间复杂度描述算法的存储空间需求,运行完一个程序所需要(xūyào)的内存大小是问题规模n的某个函数g(n),记作:S(n)=O(g(n)) 它表示随着问题规模n的增大,算法运行所需存储空间的增长率S(n)与g(n)的增长率相同。空间复杂度是指执行这个算法所需要(xūyào)的内存空间。
2007-4真题:17感谢(gǎnxiè)你的观看2019年5月18日第十七页,共78页。例题(lìtí)讲解算法的时间复杂度是指A)执行(zhíxíng)算法程序所需要的时间B)算法程序的长度C)算法执行(zhíxíng)过程中所需要的基本运算次数D)算法程序中的指令条数算法的基本特征是可行性、确定性、【1】和拥有足够的情报。算法的空间复杂度是指A)算法程序的长度 B)算法程序中的指令条数C)算法程序所占的存储空间D)执行(zhíxíng)过程中所需要的存储空间18感谢(gǎnxiè)你的观看2019年5月18日第十八页,共78页。在计算机中,算法是指A)加工方法 B)解题方案(fāngàn)的准确而完整的描述C)排序方法 D)查询方法算法的工作量大小和实现算法所需的存储单元多少分别称为算法的【1】。19感谢(gǎnxiè)你的观看2019年5月18日第十九页,共78页。1.2数据结构(shùjùjiéɡòu)数据结构(jiégòu)的定义数据的逻辑结构(jiégòu)和存储结构(jiégòu)数据结构(jiégòu)的图形表示线性结构(jiégòu)与非线性结构(jiégòu)20感谢(gǎnxiè)你的观看2019年5月18日第二十页,共78页。1.2.1数据结构(shùjùjiéɡòu)研究的主要内容当今计算机应用的特点:所处理的数据量大且具有一定的关系;对其操作不再是单纯的数值计算,而更多地是需要对其进行组织、管理和检索。应用举例1——学籍档案管理假设一个学籍档案管理系统应包含(bāohán)如下表1-1所示的学生信息。21感谢(gǎnxiè)你的观看2019年5月18日第二十一页,共78页。22感谢(gǎnxiè)你的观看2019年5月18日第二十二页,共78页。特点:l 每个学生的信息占据一行(yīxíng),所有学生的信息按学号顺序依次排列构成一张表格;l 表中每个学生的信息依据学号的大小存在着一种前后关系,这就是我们所说的线性结构;l 对它的操作通常是插入某个学生的信息,删除某个学生的信息,更新某个学生的信息,按条件检索某个学生的信息等等。应用举例2——输出n个对象的全排列输出n个对象的全排列可以使用下图1-1所示的形式描述。23感谢(gǎnxiè)你的观看2019年5月18日第二十三页,共78页。图1-13个对象的全排列(páiliè)过程24感谢(gǎnxiè)你的观看2019年5月18日第二十四页,共78页。特点:l 在求解过程中,所处理的数据之间具有层次关系,这是我们所说的树形结构;l 对它的操作有:建立树形结构,输出最低层结点内容等等。应用举例3——制定教学计划在制定教学计划时,需要考虑各门课程(kèchéng)的开设顺序。有些课程(kèchéng)需要先导课程(kèchéng),有些课程(kèchéng)则不需要,而有些课程(kèchéng)又是其他课程(kèchéng)的先导课程(kèchéng)。比如,计算机专业课程(kèchéng)的开设情况如下表1-2所示:25感谢(gǎnxiè)你的观看2019年5月18日第二十五页,共78页。26感谢(gǎnxiè)你的观看2019年5月18日第二十六页,共78页。课程先后关系(guānxì)的图形描形式:c1c9c4c2c12c10c11c5c3c6c7c8图1-2计算机专业必修课程开设先后(xiānhòu)关系27感谢(gǎnxiè)你的观看2019年5月18日第二十七页,共78页。特点l 课程之间的先后关系用图结构描述;l 通过实施创建图结构,按要求将图结构中的顶点进行线性排序。结论:数据结构(shùjùjiéɡòu)主要研究以下三个方面的问题:数据的逻辑结构数据的存储结构对各种数据结构(shùjùjiéɡòu)进行的运算28感谢(gǎnxiè)你的观看2019年5月18日第二十八页,共78页。 数据的逻辑(luójí)结构:用来描述数据元素之间的逻辑(luójí)关系。 数据的存储结构:用来描述数据元素及数据元素之间的关系在存储器中的存储形式。*重点提示:同一逻辑(luójí)结构的数据可以采用不同存储结构,但影响数据处理效率。 数据的运算:即对数据元素施加的操作。 数据结构的图形表示:用图形来直观地表示数据及其之间的关系。数据结构包括(bāokuò)逻辑结构、存储结构和数据的运算3个方面的内容。29感谢(gǎnxiè)你的观看2019年5月18日第二十九页,共78页。数据结构是一门研究数据组织、存储和运算的一般(yībān)方法的学科。1.2.2基本概念和术语(shùyǔ)30感谢(gǎnxiè)你的观看2019年5月18日第三十页,共78页。能输入(shūrù)到计算机中并能被计算机程序处理的符号的集合。整数(1,2)、实数(shìshù)(1.1,1.2)字符串(Beijing)、图形、声音。1.2.2基本概念和术语(shùyǔ)数据结构是一门研究数据组织、存储和运算的一般方法的学科。31感谢你的观看2019年5月18日第三十一页,共78页。1.2.2基本概念和术语(shùyǔ)计算机管理图书(túshū)问题在图书(túshū)馆里有各种卡片:有按书名编排的、有按作者编排的、有按分类编排如何将查询图书(túshū)的这些信息存入计算机中既要考虑查询时间短,又要考虑节省空间数据结构是一门(yīmén)研究数据组织、存储和运算的一般方法的学科。32感谢你的观看2019年5月18日第三十二页,共78页。最简单(jiǎndān)的办法之一是建立一张表,每一本书的信息在表中占一行,如1.2.2基本概念和术语(shùyǔ)数据结构是一门(yīmén)研究数据组织、存储和运算的一般方法的学科。33感谢你的观看2019年5月18日第三十三页,共78页。如何将0,1,2,3,4,5,6,7,8,9这10个数存放在计算机中能最快地达到你所需要(xūyào)的目的?目的不同,最佳的存储方方法就不同。从大到小排列:9,8,7,6,5,4,3,2,1,0输出偶数:0,2,4,6,8,1,3,5,7,9数据元素(yuánsù)在计算机中的表示数据结构是一门(yīmén)研究数据组织、存储和运算的一般方法的学科。1.2.2基本概念和术语34感谢你的观看2019年5月18日第三十四页,共78页。对数据结构(shùjùjiéɡòu)中的节点进行操作处理(插入、删除、修改、查找、排序)1.2.2基本概念和术语(shùyǔ)数据结构是一门研究(yánjiū)数据组织、存储和运算的一般方法的学科。35感谢你的观看2019年5月18日第三十五页,共78页。数据(shùjù)元素(DataElement)数据元素是数据的基本(jīběn)单位,即数据集合中的个体。有时一个数据元数可由若干数据项(DataItem)组成。数据项是数据的最小单位。数据(shùjù)元素亦称节点或记录。36感谢你的观看2019年5月18日第三十六页,共78页。数据结构(shùjùjiéɡòu)可描述为Group=(D,R)有限(yǒuxiàn)个数据元素的集合有限(yǒuxiàn)个节点间关系的集合37感谢你的观看2019年5月18日第三十七页,共78页。1.数据(shùjù)的逻辑结构2、数据(shùjù)的存储结构3、数据的运算:检索、排序、插入、删除(shānchú)、修改等。A.线性结构
B.非线性结构A顺序存储
B链式存储线性表栈队树形结构图形结构数据结构的三个方面数据结构可描述为Group=(D,R)38感谢你的观看2019年5月18日第三十八页,共78页。线性结构(jiégòu)A,B,C,·······,X,Y,Z学生成绩表86胡孝臣986110395刘忠赏9861107100张卓9861109成绩姓名学号线性表——结点(jiédiǎn)间是以线性关系联结39感谢(gǎnxiè)你的观看2019年5月18日第三十九页,共78页。树形结构(jiégòu)全校学生档案管理的组织(zǔzhī)方式计算机程序管理系统也是典型(diǎnxíng)的树形结构40感谢你的观看2019年5月18日第四十页,共78页。ABCDEFGH树形结构——结点间具有分层次的连接(liánjiē)关系HBCDEFGA41感谢(gǎnxiè)你的观看2019年5月18日第四十一页,共78页。1.数据(shùjù)的逻辑结构2、数据(shùjù)的存储结构3、数据的运算:检索、排序、插入(chārù)、删除、修改等。A.线性结构B.非线性结构A顺序存储
B链式存储线性表栈队树形结构图形结构数据结构的三个方面(亦称物理结构)42感谢你的观看2019年5月18日第四十二页,共78页。1423
D={1,2,3,4}R={(1,2),(1,3),(1,4),(2,3)(3,4),(2,4)}213
D={1,2,3}R={(1,2),(2,3),(3,2),(1,3)}图形(túxíng)结构——节点间的连结是任意的43感谢(gǎnxiè)你的观看2019年5月18日第四十三页,共78页。1.数据的逻辑(luójí)结构2、数据(shùjù)的存储结构3、数据的运算:检索、排序、插入(chārù)、删除、修改等。A.线性结构B.非线性结构A顺序存储
B链式存储线性表栈队树形结构图形结构数据结构的三个方面(亦称物理结构)44感谢你的观看2019年5月18日第四十四页,共78页。元素(yuánsù)n……..元素(yuánsù)i……..元素(yuánsù)2元素1LoLo+mLo+(i-1)*mLo+(n-1)*m存储地址存储内容Loc(a)=Lo+(i-1)*m顺序存储每个元素所占用的存储单元个数45感谢你的观看2019年5月18日第四十五页,共78页。元素(yuánsù)n……..元素(yuánsù)i……..元素(yuánsù)2元素1存储内容顺序存储结构常用于线性数据结构,将逻辑上相邻的数据元素存储在物理上相邻的存储单元里。顺序存储结构的三个弱点:1.作插入或删除操作时,需移动大量元数。2.长度变化较大时,需按最大空间分配。3.表的容量难以扩充。46感谢你的观看2019年5月18日第四十六页,共78页。1.数据(shùjù)的逻辑结构2、数据(shùjù)的存储结构3、数据的运算:检索、排序、插入(chārù)、删除、修改等。A.线性结构B.非线性结构A顺序存储
B链式存储
线性表栈队树形结构图形结构数据结构的三个方面(亦称物理结构)47感谢你的观看2019年5月18日第四十七页,共78页。1536元素(yuánsù)21400元素(yuánsù)11346元素(yuánsù)3∧元素41345h
链式存储每个节点都由两部分组成:数据域和指针域。数据域存放元素本身的数据,指针域存放指针。数据元素之间逻辑上的联系由指针来体现。48感谢你的观看2019年5月18日第四十八页,共78页。1536元素(yuánsù)21400元素(yuánsù)11346元素(yuánsù)3∧元素4head1346元素31536
…….
……..
…….1536元素21400
…….
……..
…….∧元素413461400元素11345指针存储内容存储地址
链式存储134549感谢你的观看2019年5月18日第四十九页,共78页。1536元素(yuánsù)21400元素(yuánsù)11346元素(yuánsù)3∧元素41345h
链式存储1.比顺序存储结构的存储密度小(每个节点都由数据域和指针愈组成)。2.逻辑上相邻的节点物理上不必相邻。3.插入、删除灵活(不必移动节点,只要改变节点中的指针)。链接存储结构特点:50感谢你的观看2019年5月18日第五十页,共78页。1.数据(shùjù)的逻辑结构2、数据(shùjù)的存储结构3、数据的运算:检索、排序(páixù)、插入、删除、修改等。A.线性结构B.非线性结构A顺序存储
B链式存储线性表栈队树形结构图形结构数据结构的三个方面(亦称物理结构)51感谢你的观看2019年5月18日第五十一页,共78页。线性结构(jiégòu)和非线性结构(jiégòu)如果一个非空的数据结构满足下列两个(liǎnɡɡè)条件:有且只有一个根结点;每一个结点最多有一个前件,也最多有一个后件则称该数据结构为线性结构(线性表)。如果一个数据结构不是线性结构,则称之为非线性结构。52感谢(gǎnxiè)你的观看2019年5月18日第五十二页,共78页。例题(lìtí)讲解数据结构(shùjùjiéɡòu)分为逻辑结构与存储结构,线性链表属于【1】。P327数据结构(shùjùjiéɡòu)中,与所使用的计算机无关的是数据的A)存储结构 B)物理结构C)逻辑结构 D)物理和存储结构数据的逻辑结构有线性结构和【1】两大类。53感谢(gǎnxiè)你的观看2019年5月18日第五十三页,共78页。顺序存储方法是把逻辑上相邻的结点存储在物理位置【2】的存储单元中。P317数据处理的最小单位是P309A)数据B)数据元素C)数据项D)数据结构数据结构作为计算机的一门学科,主要研究数据的逻辑结构、对各种数据结构进行的运算(yùnsuàn),以及A)数据的存储结构B)计算方法C)数据映象D)逻辑存储54感谢(gǎnxiè)你的观看2019年5月18日第五十四页,共78页。根据数据结构中各数据元素之间前后(qiánhòu)件关系的复杂程度,一般将数据结构分成A)动态结构和静态结构 B)紧凑结构和非紧凑结构C)线性结构和非线性结构D)内部结构和外部结构数据结构包括数据的逻辑结构、数据的【2】以及对数据的操作运算。数据的基本单位是【5】。55感谢(gǎnxiè)你的观看2019年5月18日第五十五页,共78页。下列叙述中,错误的是A)数据的存储(cúnchǔ)结构与数据处理的效率密切相关B)数据的存储(cúnchǔ)结构与数据处理的效率无关C)数据的存储(cúnchǔ)结构在计算机中所占的空间不一定是连续的D)一种数据的逻辑结构可以有多种存储(cúnchǔ)结构数据的存储(cúnchǔ)结构是指P314A)数据所占的存储(cúnchǔ)空间B)数据的逻辑结构在计算机中的表示C)数据在计算机中的顺序存储(cúnchǔ)方式D)存储(cúnchǔ)在外存中的数据56感谢(gǎnxiè)你的观看2019年5月18日第五十六页,共78页。1.3线性表及其顺序存储结构(jiégòu)1.3.1线性表的定义线性表是n个元素的有限序列,它们之间的关系(guānxì)可以排成一个线性序列:a1,a2,……,ai,……,an其中n称作表的长度,当n=0时,称作空表。57感谢(gǎnxiè)你的观看2019年5月18日第五十七页,共78页。线性表的特点:1.线性表中所有元素的性质相同。2.除第一个和最后一个数据元素之外,其它数据元素有且仅有一个前驱和一个后继。第一个数据元素无前驱,最后一个数据元素无后继。3.数据元素在表中的位置只取决于它自身的序号。在线性表上常用(chánɡyònɡ)的运算有:初始化、求长度、取元素、修改、前插、删除、检索、排序。58感谢(gǎnxiè)你的观看2019年5月18日第五十八页,共78页。1.3.2线性表的顺序存储结构(jiégòu)及其插入与删除操作特点:1、线性表中数据元素类型一致,只有数据域,存储空间利用率高。2、所有元素所占的存储空间是连续的3、各数据元素在存储空间中是按逻辑顺序(shùnxù)依次存放的2.做插入、删除时需移动大量元素。3.空间估计不明时,按最大空间分配。59感谢(gǎnxiè)你的观看2019年5月18日第五十九页,共78页。元素(yuánsù)an……..元素(yuánsù)ai……..元素(yuánsù)a2元素a1bb+mb+(i-1)*m
b+(maxlen-1)*m存储地址内存状态Loc(元素i)=b+(i-1)*m顺序存储结构示意图(顺序表):首地址起始地址基地址每个元素所占用的存储单元个数60感谢你的观看2019年5月18日第六十页,共78页。元素a1元素a2……..元素ai+1……..01i线性表的顺序存储结构——可用VB语言中的一维数组来描述.DimV[M]Asinteger;/*V是数组的名字,M是数组大小,假设数组中的元素(yuánsù)是整型类型*/第i个元素(yuánsù)的ai存储地址:Loc(ai)=Loc(a1)+(i-1)*mV[0]V[1]V[i]V[m-1]61感谢(gǎnxiè)你的观看2019年5月18日第六十一页,共78页。…..a2a1an…..ai+1ai01i-1in-11-1插入(chārù)运算ai-1…..a2a1alength
…ai+1ai
x
ai-1…..
a2
a1
ai
ai+1
…alength
alength
…
…ai+1
ai
x62感谢(gǎnxiè)你的观看2019年5月18日第六十二页,共78页。OptionBase0Functionintinsq(iAsInteger,xAsInteger,V()AsInteger,MAsInteger,)/*顺序表插入函数*//*在线性表V中第i个元素之前插入x,i的合法值为1in*/DimnAsInteger,jAsIntegern=UBound(V)/*获取表长*/Ifn=MThen/*M是存储空间的大小(dàxiǎo)*/print"overflown“ExitFunctionEndIfIf(i<1)or(i>n+1)Thenprint"iiserror“ExitFunction/*i值不合法*/Elseforj=nToiStep-1V(j)=V(j-1)/*插入位置后的元素依次右移*/NextJV(j)=x/*插入x*/EndIfEndFunction注意(zhùyì)数组元素从0开始63感谢(gǎnxiè)你的观看2019年5月18日第六十三页,共78页。1-2删除运算OptionBaseoFunctiondelsq(iAsInteger,V()AsInteger])/*在线性表V中删除第i个元素(yuánsù)*/DimnAsInteger,jAsIntegern=UBound(V)Ifi<1ori>nThenprint"Thiselementisnotinthelist“ExitFunctionelseForj=ITonV(j-1)=V(j)/*被删除元素(yuánsù)之后的元素(yuánsù)左移*/NextJEndifEndFunction64感谢(gǎnxiè)你的观看2019年5月18日第六十四页,共78页。插入算法(suànfǎ)的分析假设线性表中含有n个数据元素,在进行插入操作时,若假定在n+1个位置上插入元素的可能性均等,则平均移动元素的个数为:65感谢(gǎnxiè)你的观看2019年5月18日第六十五页,共78页。删除算法的分析在进行删除操作时,若假定删除每个元素的可能性均等,则平均移动元素的个数为:分析结论(jiélùn)顺序存储结构表示的线性表,在做插入或删除操作时,平均需要移动大约一半的数据元素。当线性表的数据元素量较大,并且经常要对其做插入或删除操作时,这一点需要值得考虑。66感谢(gǎnxiè)你的观看2019年5月18日第六十六页,共78页。例题(lìtí)讲解顺序存储方法是把逻辑上相邻的结点(jiédiǎn)存储在物理位置【2】的存储单元中。PPT:P4667感谢(gǎnxiè)你的观看2019年5月18日第六十七页,共78页。线性表L=(a1,a2,a3,…ai,…an),下列说法正确的是A)每个元素都有一个(yīɡè)直接前件和直接后件B)线性表中至少要有一个(yīɡè)元素C)表中诸元素的排列顺序必须是由小到大或由大到小D)除第一个(yīɡè)元素和最后一个(yīɡè)元素外,其余每个元素都有一个(yīɡè)且只有一个(yīɡè)直接前件和直接后件P31768感谢(gǎnxiè)你的观看2019年5月18日第六十八页,共78页。根据数据结构中各数据元素之间前后件关系的复杂程度,一般(yībān)将数据结构分成P316A)动态结构和静态结构 B)紧凑结构和非紧凑结构C)线性结构和非线性结构D)内部结构和外部结构69感谢(gǎnxiè)你的观看2019年5月18日第六十九页,共78页。下列叙述中,错误的是A)数据的存储结构与数据处理的效率密切相关B)数据的存储结构与数据处理的效率无关C)数据的存储结构在计算机中所占的空间(kōngjiān)不一定是连续的D)一种数据的逻辑结构可以有多种存储结构70感谢(gǎnxiè)你的观看2019年5月18日第七十页,共78页。1.4栈和队列(duìliè)1.4.1栈和队列的定义
栈和队列是两种特殊(tèshū)的线性表,它们是运算时要受到某些限制的线性表,故也称为限定性的数据结构。71感谢(gǎnxiè)你的观看2019年5月18日第七十一页,共78页。1.4.1.1栈的定义栈:限定只能在表的一端进行插入和删除(shānchú)的特殊的线性表,此种结构称为后进先出(Last_In_First_Out,简称LIFO)或先进后出(FILO)表设栈s=(a1,a2,...,ai,...,an),其中a1是栈底元素,an是栈顶元素。栈顶(top):允许插入和删除(shānchú)的一端;约定top始终指向新数据元素将存放的位置。栈底(bottom):不允许插入和删除(shānchú)的一端。
a1
a2
….
an进栈出栈栈顶栈底72感谢(gǎnxiè)你的观看2019年5月18日第七十二页,共78页。队列(duìliè)的主要运算(1)设置一个空队列;(2)插入(chārù)一个新的队尾元素,称为进队;(3)删除队头元素,称为出队;(4)读取队头元素;1.4.1.2队列的定义定义:一种(yīzhǒnɡ)特殊的线性结构,限定只能在表的一端进行插入,在表的另一端进行删除的线性表。此种结构称为先进先出(FIFO)表。
a1,
a2,
a3,
a4,…………
an-1,
an队列示意图队头队尾73感谢你的观看2019年5月18日第七十三页,共78页。1.4.2栈的顺序存储结构及其基本(jīběn)运算
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农药生产工岗前质量控制考核试卷含答案
- 轨道作业车司机岗中心理健康考核试卷含答案
- 2026年医院妇幼保健医院人事管理工作制度【新】
- 垂直运输机械设备管理制度
- 2025年工会知识竞赛培训试题及答案
- 危险源识别及环境因素培训试题及答案
- 焦虑心理护理查房
- 轻质混凝土施工工艺
- 烧结瓦屋面施工工艺
- 工程施工钢筋施工综合应急预案
- 民进班子成员工作制度
- 综合门诊部工作制度
- 肠内肠外营养规范应用
- 企业安全生产费用提取和使用管理办法(财资2026年136号文附件)
- 道路旅客运输及客运站管理规定2026版
- 2025年广投集团招聘笔试题目及答案
- 护理专业学生实习实习心理调适
- 中国听性脑干反应临床操作规范专家共识(2026版)
- 抬墓碑安全协议书
- 糖化终产物在口腔-全身损伤中的作用
- 儿科感染性疾病诊断与治疗
评论
0/150
提交评论