《数据结构》填空作业题答案.docx
- 文档编号:28498601
- 上传时间:2023-07-15
- 格式:DOCX
- 页数:11
- 大小:292.72KB
《数据结构》填空作业题答案.docx
《《数据结构》填空作业题答案.docx》由会员分享,可在线阅读,更多相关《《数据结构》填空作业题答案.docx(11页珍藏版)》请在冰豆网上搜索。
《数据结构》填空作业题答案
《数据结构》填空作业题答案
第1章绪论(已校对无误)
1?
数据结构包括数据的逻辑结构、数据的存储结构和数据的运算三方面的内容。
2?
程序包括两个内容:
数据结构和算法。
3.数据结构的形式定义为:
数据结构是一个二元组:
DataStructure=(D,S)。
4.数据的逻辑结构在计算机存储器内的表示,称为数据的存储结构。
5.数据的逻辑结构可以分类为线性结构和非线性结构两大类。
6.在图状结构中,每个结点的前驱结点数和后继结点数可以有多个。
7.在树形结构中,数据元素之间存在一对多的关系。
8.数据的物理结构,指数据元素在计算机中的标识(映象),也即存储结构。
9.数据的逻辑结构包括线性结构、树形结构和图形结构3种类型,树型结构和有向
图结构合称为非线性结构0
10.顺序存储结构是把逻辑上相邻的结点存储在物理上连续的存储单元里,结点之间的逻辑
关系由存储单元位置的邻接关系来体现。
11.链式存储结构是把逻辑上相邻的结点存储在物理上任意的存储单元里,节点之间的逻辑关系由附加的指针域来体现。
12.数据的存储结构可用4种基本的存储方法表示,它们分别是顺序存储、链式存储、索引存储和散列存储。
13.线性结构反映结点间的逻辑关系是一对一的,非线性结构反映结点间的逻辑关系是一
对多或多对多0
14.数据结构在物理上可分为顺序存储结构和链式存储结构。
15.我们把每种数据结构均视为抽象类型,它不但定义了数据的表示方式,还给出了处理数据的实现
方法O
16.数据元素可由若干个数据项组成。
17.算法分析的两个主要方面是时间复杂度和空间复杂度。
18.一个算法的时间复杂度是用该算法所消耗的时间的多少来度量的,一个算法的空间复杂
度是用该算法在运行过程中所占用的存储空间的大小来度量的。
19.算法具有如下特点:
有穷性、确定性、可行性、输入、输出。
20.对于某一类特
定的问题,算法给出了解决问题的一系列操作,每一操作都有它的确切
的定义,并在有穷时间内计算岀结果。
21.下面程序段的时间复杂度为3L。
i=1;
while(i<=n)
i=i*3;
第2章线性表(已校对无误)
1.一线性表表示如下:
(ai,a2,…,ai-i,a,a+1,…,an),其中每个ai代表一个数据元素(或
结点)。
ai称为起始结点,an称为终端结点,i称为a在线性表中的位置(或序号)。
对任意一对相邻结点
ai,ai+i,(1
2.对一个长度为n的线性表,要删除第i个元素,则在顺序表示的情况下,计算复杂性为0(n),
在链式表示的情况下,计算复杂性为on。
3.在一个长度为n的顺序表中,向第i个元素(Ki —i+i个元素。 4.顺序表中逻辑上相邻的元素在物理位置上一定相连。 5.在n个结点的顺序表中插入一个结点需平均移动n/2个结点,具体的移动次数取决于__表 长n禾廿插入位置i。 6.在顺序表中访问任意一个结点的时间复杂度均为0 (1),因此,顺序表也称为随机访问 的数据结构。 7.顺序表相对于链表的优点有随机访问和空间利用率高。 8.在长度为n的顺序表中插入一个元素的时间复杂度为0(n)。 9.在带有头结点的单链表L中,若要删除第一个结点,则须执行下列三条语句: U=L->next: L->next=U->next;free(U)。 10.链表相对于顺序表的优点有插入和删除操作方便。 11.在单链表中除首结点外,任意结点的存储位置都由直接前驱结点中的指针指示。 12.在n个结点的单链表中要删除已知结点*p,需找到它的直接前驱结点的地址,其时间复. 杂度为O(ni。 13.单链表中设置头结点的作用是简化操作,减少边界条件的 判断。 14.在带表头结点的单 链表中,当删除某一指定结点时,必须找到该结点的前驱结点。 15.在双链表中,每个结点有两个指针域,一个指向前驱结点,另一个指向后续结点。 16.带头结点的单链表L为空的判定条件是L->next==NULL,不带头结点的单链表L为空的判定条件是L==NULL。 17.在单链表中,指针p所指结点为最后一个结点的条件是p->next==NULL 18.循环链表的最大优点是从表中任意结点出发都可访问到表中每一个元素(或从表中任意结 点出发都可遍历整个链表)。 19.设rear是指向非空、带头结点的循环单链表的尾指针,则该链表首结点的存储位置是rear->n ext->next。 20.带头结点的双向循环表L为空表的条件是L->prior==L->next。 21.在循环链表中,可根据任一结点的地址遍历整个链表,而单链表中需知道头指针才能遍 历整个链表。 22.将两个各有n个元素的有序表归并成一个有序表,其最少的比较次数是1。 第3章栈和队列(已校对无误) 1.栈又称为后进先出表,队列又称为先进先出表。 2.向一个顺序栈插入一个元素时,首先使栈顶指针后移一个位置,然后把待插入元素写入(或插入)到这个位置上。 3.从一个栈删除元素时,需要前移一位栈顶指针 4.在一个顺序栈中,若栈顶指针等于—1,则为空栈; 若栈顶指针等于maxSize—1,则为满栈。 5. 在一个链式栈中,若栈顶指针等于NULL,则为空找: 在一个链式队列中,若队头指针与 6.向一个链式栈插入一个新结点时,首先把栈顶指针的值赋给新结点的指针域,然后把新结 点的存储位置赋给栈顶指针。 7? 在求表达式值的算符优先算法中使用的主要数据结构是栈。 8.设有一个顺序栈S,元素s1,s2,s3,s4,s5,s6依次 进栈,如果6个元素的出栈顺序为s2,s3,s4,s6,s5,s1,则顺序栈的容量至少为3。 9.设有一个空栈,现输入序列为1,2,3,4,5。 经过push,push,pop,push,pop,push,pop, push后,输出序列是234。 10.在按算符优先法求解表达式3-1+5*2时,最先执行的运算是丄,最后执行的运算是亠。 11.在栈的ADT定义中,除初始化操作外,其他基本操作的初始条件都要求栈存在。 12.仅允许在同一端进行插入和删除的线性表称为栈。 13.在顺序栈s中,栈为空的条件是s.top==s.base,栈为满的条件是s.top—s.base>=s.stacksize。 14.设有算术表达式x+a*(y—b)—c/d,该表达式的前缀表示为一—+x*a—yb/cd。 后缀表示为xayb—*+cd/—。 15. 1234,为了得到1342出栈顺序, 用S表示入栈操作,X表示出栈操作,若元素入栈顺序为相应的S、X操作串为SXSSXSXX。 16.向一个栈顶指针为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之后,输出序列是Z_卫,而栈顶指针是100CH。 设栈为顺序栈,每个元素占4个字节。 19. 在作入栈运算时应先判别栈是否满;在作出栈运算时应先判别栈是否空。 top==0。 24. 假溢出时大量移动数据兀素 循环队列的引入,目的是为了克服第4章串(已校对无误) 1.两个串相等的充分必要条件是两个串的长度相等且对应位置的字符相同。 2.空格串是由一个或多个空格字符组成的串,其长度等于其包含的空格个数。 3.模式串’abaabade的next函数值为01122341 补充: 1.串的两种最基本的存储方式是顺序存储方式和链接存储方式。 2.空串是零个字符的串,其长度等于雯。 3.组成串的数据元素只能是字符。 4.串是一种特殊的线性表,其特殊性表现在其数据元素都是字符一。 第5章数组(已校对无误) 1.将下三角矩阵A[1..8,1..8]的下三角部分逐行地存储到起始地址为1000的内存单元中,已知每个 元素占4个单元,则元素A[7,5]的地址为1100。 2. A[0,0]的 二维数组A[0•-9,0…19]采用列序为主方式存储,每个元素占一个存储单元,并且元素存储地址是200,则元素A[6,12]的地址是332。 3.二维数组A[10…20,5-10]采用行序为主方式存储,每个元素占4个存储单元,并且元素A[10,5]的存 储地址是1000,则元素A[18,9]的地址是1208 补充: 1.一维数组的逻辑结构是线性结构,存储结构是顺序存储结构O 2.对于二维数组或多维数组,分为按以行为主序和按以列为主序两种不同的存储方式存储。 3.对矩阵压缩存储是为了节省存储空间o 4.二维数组是一种非线性结构,其中的每一个数组元素最多有二个直接前驱(或直接后继)。 第6章树(已校对无误) 4.结点最少的树为只有一个结点的树,结点最少的二叉树为空的二叉树。 5.根据二叉树的定义,具有三个结点的二叉树有5种不同的形态,它们分别是o 6.具有n个结点的完全二叉树的深度为o 8.以数据集{4,5,6,7,10,12,18}为结点权值所构造的哈夫曼树为需用图示,其带权路径长 度为165° 9.哈夫曼树是带权路径长度最短的树,通常权值较大的结点离根较近。 10.在先序遍历二叉树的序列中,任何结点的子树上的所有结点,都是直接跟在该结点之后。 第7章图(已校对无误) 1.n个顶点的连通图至少有n—1条边。 2? 在无权图G的邻接矩阵A中,若(vi,可)或〈vi,vj〉属于图G的边集,则对应元素A[i][j]等于 L,否则等于0° 3.在无向图G的邻接矩阵A中,若 A[i][j]等于1,A[j][i]等于1° 4.已知图G的邻接表如下图所示,其从顶点v1出发的深度优先搜索序列为v1v2v3v6v5v4,其从顶点 v1出发的广度优先搜索序列为v1v2v5v4v3v6° L 5■设x,y是图G中的两顶点,贝U(x,丫)与(y,x)被认为无向,但〈x,丫〉与〈y,x〉是有向的两条弧。 6.已知一个图的邻接矩阵表示,删除所有从i个结点出发的边的方法是将矩阵的第i行全部置为0o 7.在有向图的邻接矩阵上,由第i行可得到第i个结点的出度,而由第j列可得到第_j_个结点的入度。 8.在无向图中,如果从顶点v到顶点v有路径,则称v和v'是一连通。 第8章查找(已校对无误) 1. 处理冲突时的平均查找长 度为1+? 顺序查找法的平均查找长度为(n+1)12;哈希表查找法采用链接法 2. 在各种查找方法中,平均查找长度与结点个数n无关的查找方法是哈希表查找法 9.高度为8的平衡二叉树至少有54个结点。 10.在散列函数H(key)=key%p中,p应取素数。 第9章排序(已校对无误) 键字开始 3.对n个记录的表r[1…n]进行简单选择排序,所需要进行的关键字间的比较次数为n(n—1)/2 4.在插入排序、希尔排序、选择排序、快速排序、堆排序、归并排序和基数排序中,排序是不稳定的 尔排序、选择排序、快速排序、堆排序。 5.在插入排序、希尔排序、选择排序、快速排序、堆排序、归并排序和基数排序中,平均比较次数最排序是快速排序,需要内存容量最多的是基数排序。 6.在堆排序和快速排序中,若原始记录接近正序或反序,则选用堆排序,若原始记录无序,则最好 速排序。 7.在插入排序和选择排序中,若初始数据基本正序,则选用插入排序;若初始数据基本反序,则选 用选择排序。 8.对n个元素的序列进行冒泡排序时,最少的比较次数是n—1。 9. 有希 少的 选用快 基数排序不需要进行记录关键字间的比较。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 填空 作业题 答案