《数据结构》填空作题_第1页
《数据结构》填空作题_第2页
《数据结构》填空作题_第3页
《数据结构》填空作题_第4页
《数据结构》填空作题_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据结构填空作业题答案第1章绪论(已校对无误)1 ?数据结构包括数据的逻辑结构、数据的存储结构和数据的运算三方面的内容。2 ?程序包括两个内容:数据结构和算法。3 .数据结构的形式定义为:数据结构是一个二元组:DataStructure=(D,S)。4 .数据的逻辑结构在计算机存储器内的表示,称为数据的存储结构。5 .数据的逻辑结构可以分类为线住结构和非线性结构两大类。6 .在图状结构中,每个结点的前驱结点数和后继结点数可以有多个。7 .在树形结构中,数据元素之间存在一对多的关系。8 .数据的物理结构,指数据元素在计算机中的标识(映象),也即存储结构。9 .数据的逻辑结构包括线性结构、树形结构

2、禾图形结构3种类型,树型结构和有向图结构合称为非线性结构010 .顺序存储结构是把逻辑上相邻的结点存储在物理上连续的存储单元里,结点之间的逻辑关系由存储单元位置的邻接关系来体现。11 .链式存储结构是把逻辑上相邻的结点存储在物理上任意的存储单元里,节点之间的逻辑关系由附加的指针域来体现。12 .数据的存储结构可用4种基本的存储方法表示,它们分别是顺序存储、链式存储、索引存储和散列存储。13 .线性结构反映结点间的逻辑关系是一对一的,非线性结构反映结点间的逻辑关系是一对多或多对多。14 .数据结构在物理上可分为顺序存储结构和链式存储结构。15 .我们把每种数据结构均视为抽象类型,它不但定义了数据

3、的表示方式,还给出了处理数据的实现方法。16 .数据元素可由若干个数据项组成。17 .算法分析的两个主要方面是时回复杂度和空间复杂度。18 .一个算法的时间复杂度是用该算法所消耗的时间的多少来度量的,一个算法的空间复杂度是用该算法在运行过程中所占用的存储空间的大小来度量的。19 .算法具有如下特点:有穷性、确定性、可行性、输入、输出。20. 对于某一类特定的问题,算法给出了解决问题的一系列操作,每一操作都有它的确切的定义,并在有穷时间内计算出结果。21.下面程序段的时间复杂度为3Li=1;while(i<=n)i=i*3;第2章线性表(已校对无误)1 .一线性表表示如下:(ai,a2,,

4、ai-i,a,a+i,,an),其中每个a代表一个数据元素(或结点)。ai称为起始结点,an称为终端.结点,i称为a在线性表中的位置(或序号)。对任意一对相邻结点ai,ai+i,(Ki<n),a称为a+i的直接前驱,a+i称为a的直接后继。2 .对一个长度为n的线性表,要删除第i个元素,则在顺序表示的情况下,计算复杂性为0(n),在链式表示的情况下,计算复杂性为0D3 .在一个长度为n的顺序表中,向第i个元素(Ki<n)之前插入一个新元素时,需向后移动_ni+i个)o4.顺序表中逻辑上相邻的元素在物理位置上一定相连。10n2个结点,具体的移动次数取决于_表09,因此,顺序表也称为随

5、机访问5 .在n个结点的顺序表中插入一个结点需平均移动长n和插入位置i。6 .在顺序表中访问任意一个结点的时间复杂度均为的数据结构。7 .顺序表相对于链表的优点有随机访问和空间利用率高。8 .在长度为n的顺序表中插入一个元素的时间复杂度为0山。9 .在带有头结点的单链表L中,若要删除第一个结点,则须执行下列三条语句:U=L->next;L->next=U->next;free(U)。直接前驱 结点中的指针指示。10 .链表相对于顺序表的优点有插入和删除操作方便。11 .在单链表中除首结点外,任意结点的存储位置都由12 .在n个结点的单链表中要删除已知结点*p,需找到它的直接前

6、驱结点的地址,其时间复.杂度为O(n)o13 .单链表中设置头结点的作用是简化操作、减少边界条件的判14.断O在带表头结点的单链表中,当删除某一指定结点时,必须找到该结点的前驱结点。15 .在双链表中,每个结点有两个指针域,一个指向前驱结点一,另一个指向后续结点一。16 .带头结点的单链表L为空的判定条件是L->next=NULL,不带头结点的单链表L为空的判定条件是L=NULL。17 .在单链表中,指针p所指结点为最后一个结点的条件是p->next=NULL。18 .循环链表的最大优点是从表中任意结点出发都可访问到表中每一个元素(或从表中任意结点出发都可遍历整个链表)。19 .设

7、rear是指向非空、带头结点的循环单链表的尾指针,则该链表首结点的存储位置是rear->next->next。20 .带头结点的双向循环表L为空表的条件是L->prior=L->next。21 .在循环链表中,可根据任一结点的地址遍历整个链表,而单链表中需知道头指针才能遍历整个链表。22 .将两个各有n个元素的有序表归并成一个有序表,其最少的比较次数是1o第3章栈和队列(已校对无误)1 .栈又称为后进先出表,队列又称为先进先出表。2 .向一个顺序栈插入一个元素时,首先使栈顶指针后移一个位置,然后把待插入元素写入(或插入)到这个位置上。3 .从一个栈删除元素时,需要前移一

8、位栈顶指针。4 .在一个顺序栈中,若栈顶指针等于二1,则为空栈;若栈顶指针等于maxSize1,则为满栈。5 .在一个链式栈中,若栈顶指针等于NULL,则为空栈:在一个链式队列中,若队头指针与队尾指针的值相同,则表示该队列为空或该队列只含有一个结点。6 .向一个链式栈插入一个新结点时,首先把栈顶指针的值赋给新结点的指针域,然后把新结点的存储位置赋给栈顶指针。7?在求表达式值的算符优先算法中使用的主要数据结构是栈。8 .设有一个顺序栈S,元素s1,s2,s3,s4,s5,s6依次进栈,如果6个元素的出栈顺序为s2,s3,s4,s6,s5,s1,则顺序栈的容量至少为3。9 .设有一个空栈,现输入序

9、列为1,2,3,4,5。经过push,push,pop,push,pop,push,pop,push后,输出序列是234o10 .在按算符优先法求解表达式3-1+5*2时,最先执行的运算是X,最后执行的运算是11 .在栈的ADT定义中,除初始化操作外,其他基本操作的初始条件都要求栈存在。12 .仅允许在同一端进行插入和删除的线性表称为栈。13 .在顺序栈s中,栈为空的条件是s.top=s.base,栈为满的条件是s.top-s.base>=s.stacksize。14 .设有算术表达式x+a*(yb)c/d,该表达式的前缀表示为一+x*ayb/cd。后缀表示为xayb*+cd/。1234

10、,为了得到1342出栈顺序,15 .用S表示入栈操作,X表示出栈操作,若元素入栈顺序为相应的S、X操作串为SXSSXSXX16 .向一个栈顶指针为top的链式栈中插入一个新结点*p时,应执行p->link=top和top=p操作17 .从一个栈顶指针为top的非空链式栈中删除结点并不需要返回栈顶结点的值和回收结点时,应执行top=top->link操作。18 .设有一个空栈,栈顶指针为1000H(十六进制。现有输入序列为1,2,3,4,5,经过PUSH,PUSH,POP,PUSH,POP,PUSH,PUSH之后,输出序列是2金,而栈顶指针是100CH。设栈为顺序栈,每个元素占4个字

11、节。19 .在作入栈运算时应先判别栈是否逋:在作出栈运算时应先判别栈是否空。10.用一个大小为1000的数组来实现循环队列,当前rear和front的值分别为0和994,若要达到队满的条件,还需要继续入队的元素个数是993 o20 .队列的插入操作在队屋 进行,删除操作在21 .在一个循环队列Q中,判断队空的条件为(Q.rear+ 1) % maxSize=Q.fr ont 。22 .向一个循环队列中插入元素时,需要首先移动 插入)新插入的元素。23 .当用长度为n的数组顺序存储一个栈时,若用 top = = 0 O队头进行。Q.front=Q.rear ,判断队满的条件为队尾指针,然后再向所

12、指位置写入(或top=n表示栈空,则表示栈满的条件为24.循环队列的引入,目的是为了克服假溢出时大量移动数据元素第4章串(已校对无误)1 .两个串相等的充分必要条件是两个串的长度相等且对应位置的字符相同。2 .空格串是由一个或多个空格字符组成的串:其长度等干其包含的空格个数3 .模式串'abaabade的next函数值为01122341补充:1 .串的两种最基本的存储方式是顺序存储方式和链接存储方式。2 .空串是零个字符的串:其长度等干变。3 .组成串的数据元素只能是包。4 .串是一种特殊的线性表,其特殊性表现在其数据元素都是字符。第5章数组(已校对无误)1 .将下三角矩阵A1.8,1

13、.8的下三角部分逐行地存储到起始地址为1000的内存单元中,已知每个元素占4个单元,则元素A7,5的地址为1100。2 .二维数组A0,9,。19采用列序为主方式存储,每个元素占一个存储单元,并且元素A0,0的存储地址是200,则元素A6,12的地址是332。3 .二维数组A1020,5-10采用行序为主方式存储,每个元素占4个存储单元,并且元素A10,5的存储地址是1000,则元素A18,9的地址是1208。补充:1 .一维数组的逻辑结构是线性结构,存储结构是顺序存储结构。2 .对于二维数组或多维数组,分为按以行为主序和按以列为主序两种不同的存储方式存储。3 .对矩阵压缩存储是为了节省存储空

14、间。4 .二维数组是一种非线性结构,其中的每一个数组元素最多有二个直接前驱(或直接后继)第6章树(已校对无误)5 .结点最少的树为只有一个结点的树,结点最少的二叉树为空的二叉树。6 .根据二叉树的定义,具有三个结点的二叉树有5种不同的形态,它们分别是。7 .具有n个结点的完全二叉树的深度为。8 .以数据集4,5,6,7,10,12,18为结点权值所构造的哈夫曼树为需用图示,其带权路径长度为165。9 .哈夫曼树是带权路径长度量翅的树,通常权值较大的结点离根较近。10 .在先序遍历二叉树的序列中,任何结点的子树上的所有结点,都是直接跟在该结点之后。第7章图(已校对无误)1.n个顶点的连通图至少有

15、n1条边2?在无权图G的邻接矩阵A中,若(vi,vj)或vi,vj属于图G的边集,则对应元素Aij等于一,否则在无向图G的邻接矩阵A中,若Aij等于0。3.等于1,Aji等于14.已知图G的邻接表如下图所示,其从顶点v1出发的深度优先搜索序列为v1v2v3v6v5v4,其从顶点v1出发的广度优先搜索序列为v1v2v5v4v3v6。5.设 x,y是图G中的两顶点,贝U ( x, 丫)与(y, x)被认为无向,但x, 丫与y, x是有向的两条弧6 .已知一个图的邻接矩阵表示,删除所有从i个结点出发的边的方法是将矩阵的第i行全部置为0o7 .在有向图的邻接矩阵上,由第i行可得到第i个结点的出度,而由

16、第j列可得到第个结点的入度8 .在无向图中,如果从顶点v到顶点v有路径,则称v和v'是连通第8章查找(已校对无误)1 .顺序查找法的平均查找长度为(n+1)12;哈希表查找法采用链接法处理冲突时的平均查找长度为1+?o2 .在各种查找方法中,平均查找长度与结点个数n无关的查找方法是哈希表查找法。3 .二分查找的存储结构仅限于有序的顺序存储结构。4 .长度为255的表,采用分块查找法,每块的最佳长度是15o5 .N个记录的有序顺序表中进行折半查找,最大的比较次数是10g?N?。6 .对于长度为n的线性表,若进行顺序查找,则时间复杂度为O(n);若采用二分法查找,则时间复杂度为0伽如);若

17、采用分块查找(假定总块数和每块长度均接近花),则时间复杂度为O(n)Q:a的值越小,贝U仝7 .在散列存储中,装填因子a的值越大,则存取元素时发生冲突的可能性就越大取元素时发生冲突的可能性就越小8 .对于二叉排序树的查找,若根结点元素的键值大于被查元素的键值,则应该在二叉树的左子树上继续查找。9 .高度为8的平衡二叉树至少有_54个结点。10 .在散列函数H(key)=key%p中,p应取素数。第9章排序(已校对无误)1 .在对一组记录(54,38,96,23,15,72,60,45,83)进行直接插入排序时,当把第8个记录45插入到有序表时,为寻找插入位置需比较5_次2 .对于关键字序列(12,13,11,18,60,15,7,20,25,100),用筛选法建堆,必须从键值为_60的关键字开始。3 .对n个记录的表r1川进行简单选择排序,所需要进行的关键字间的比较次数为n(n112。4 .在插入排序、希尔排序、选择排序、快速

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论