《数据结构》填空作业题(答案)
数据结构填空题题库
数据结构填空题题库一、填空题1题目:在数据结构中,_______是一种线性结构,它按照_______的方式存储数据。
答案:数组,连续解析:数组是一种线性结构,它在内存中按照连续的方式存储数据。
二、填空题2题目:在二叉树中,每个节点最多有_______个子节点。
答案:2解析:二叉树中,每个节点最多有两个子节点,分别称为左子节点和右子节点。
三、填空题3题目:栈是一种_______结构,它遵循_______的原则。
答案:线性,后进先出解析:栈是一种线性结构,它遵循后进先出(LIFO)的原则,即最后进入栈的元素最先被访问。
四、填空题4题目:在图的表示中,邻接矩阵使用一个_______来表示图中的边。
答案:矩阵解析:邻接矩阵使用一个矩阵来表示图中的边,矩阵的行和列分别表示图中的顶点,矩阵中的元素表示两个顶点之间是否存在边。
五、填空题5题目:在哈希表中,通过_______函数将关键字映射到哈希表的_______。
答案:哈希,索引解析:哈希表通过哈希函数将关键字映射到哈希表的索引,从而实现高效的查找和插入操作。
六、填空题6题目:在堆排序中,堆是一种_______树,它分为_______堆和_______堆。
答案:完全,最大,最小解析:堆是一种完全二叉树,它分为最大堆和最小堆。
最大堆中,每个节点的值都大于或等于其子节点的值;最小堆中,每个节点的值都小于或等于其子节点的值。
七、填空题7题目:在链表中,每个节点包含两部分,分别是_______和_______。
答案:数据,指针解析:链表中的每个节点包含两部分,一部分是存储数据的区域,另一部分是指向下一个节点的指针。
八、填空题8题目:在树的遍历中,前序遍历的顺序是_______,中序遍历的顺序是_______,后序遍历的顺序是_______。
答案:根-左-右,左-根-右,左-右-根解析:前序遍历先访问根节点,然后按照左子树-右子树的顺序进行遍历;中序遍历先访问左子树,然后访问根节点,最后访问右子树;后序遍历先访问左子树,然后访问右子树,最后访问根节点。
数据结构》作业题答案
参考答案第一章、绪论一、选择题1 B;2 A; 3 B;4 C ;5 C; 6 B;7 C;8 C;9 D;10 B。
二、填空题1、存储;2、无,1,无,1;3、前驱,1,后继,任意多个;4、一对一,一对多,多对多;5、时间复杂度,空间复杂度;6、集合,线性结构,树形结构,图形结构;7、顺序结构,链式结构,索引结构,散列结构;8、顺序。
三、问答题与算法题1、3 ;2、T1 ( n ) = 5n 2 -O ( n ) ; T2 ( n ) = 3 n 2 + O ( n ) ; T3 ( n ) = 8 n 2 + O(log n) ;T4 ( n ) = 1.5 n 2 + O ( n ) 。
T4 ( n ) 较优,T3 ( n )较劣。
3、见课本。
第二章线性表一、选择题1C;2A;3D;4B;5D;6B;7C;8B;9A;10C;11D;12D;13C;14C.二、填空题1、O ( 1 ), O ( n );2、单链表,双链表;3、地址,指针;4、4,2;5、便于访问尾结点和头结点;6、前驱;7、L->next== L且L->prior== L;8、顺序。
三、问答题与算法题1、头指针:结点或头结点的指针变量。
其作用是存放第一个结点或头结点的地址,从头指针出发可以找到链表中所有结点的信息。
头结点:是附加在链表的第一个结点之前的一个特殊结点,其数据域一般不存放信息。
其作用是为了简化运算,将空表与非空表统一起来,将第一个结点与其他结点的处理统一起来。
首结点:是链表的第一个结点。
2、(1)基于空间的考虑。
当要求存储的线性表长度变化不大,易于事先确定其大小时,为了节约存储空间,宜采用顺序表;反之,当线性表长度变化大,难以估计其存储规模时,采用动态链表作为存储结构为好。
(2)基于时间的考虑。
若线性表的操作主要是进行查找,很少做插入和删除操作时,采用顺序表做存储结构为宜;反之,若需要对线性表进行频繁地插入或删除等的操作时,宜采用链表做存储结构。
数据结构作业题及参考答案
东北农业大学网络教育学院数据结构作业题(一)、选择题(每题2分,共20 分)1在一个长度为n的顺序表的任一位置插入一个新元素的渐进时间复杂度为( )。
2A Qn) B、O(n/2) C、O(1) D O(n )2.带头结点的单链表first为空的判定条件是( )。
A、first == NULL ;B、first->link == NULL ;C、first->link == first ;D、first != NULL ;3•在一棵树中,( )没有前驱结点。
A、分支结点B、叶结点C、树根结点D、空结点4•在有向图中每个顶点的度等于该顶点的( )。
A、入度B、出度C、入度与出度之和D、入度与出度之差5.对于长度为9的有序顺序表,若采用折半搜索,在等概率情况下搜索成功的平均搜索长度为( ) 的值除以9。
A、20B、18C、25D、226•下列程序段的时间复杂度为( )。
s=0;for(i=1 ; i<n; i++)for(j=1 ; j<n ; j++)s+=i*j ;2A、O(1)B、O(n)C、O(2n)D、O(n)7•栈是一种操作受限的线性结构,其操作的主要特征是( )。
A、先进先出B、后进先出C、进优于出D、出优于进&假设以数组A[n]存放循环队列的元素,其头、尾指针分别为front和rear。
若设定尾指针指向队列中的队尾元素,头指针指向队列中队头元素的前一个位置,则当前存于队列中的元素个数为( )。
4•在二叉树的第i 层上至多有 ______________ 结点。
5.对于一棵具有 n 个结点的二叉树,若一个结点的编号为A、 C、 (rear-front-1) % n B 、(rear-front) % n (front-rear+1) % nD 、(rear-front+n) % n高度为5的完全二叉树中含有的结点数至少为(16B 、17C 、3110.如图所示有向图的一个拓扑序列是D 、32)A 、 ABCDEFB 、 FCBEADC 、 FEDCBAD 、 DAEBCF二、填空题(每空1分,共20 分)1. n (n > 0)个顶点的无向图最多有2.在一棵AVL 树中,每个结点的左子树高度与右子树高度之差的绝对值不超过 ________ 。
《数据结构》题库及答案
《数据结构》题库及答案一、选择题1.线性表的顺序存储结构是一种 的存储结构,线性表的链式存储结构是一种 的存储结构。
a. 随机存储;b.顺序存储;c. 索引存取;d. HASH 存取2.一个栈的入栈序列是a,b,c,d,e ,则栈的不可能的输出序列是 。
a. edcba;b. decba;c. dceab;d.abcde3.一个队列的入队序列是1,2,3,4,则队列的输出序列是 。
a. 4,3,2,1;b. 1,2,3,4;c. 1,4,3,2;d.3,2,4,14.在一个单链表中,已知p 结点是q 结点的直接前驱结点,若在p 和q 之间插入结点s ,则执行的操作是 。
a. s->nxet=p->next; p->next=s;b. p->next=s->next; s->next=p;c. q->next=s; s->next=p;d. p->next=s; s->next=q;5.设有两个串p,q ,求q 在p 中首次出现的位置的运算称作 。
a.联接b.模式匹配c.求子串d.求串长6.二维数组M 的成员是6个字符(每个字符占一个存储单元)组成的串,行下标i 的范围从0到8,列下标j 的范围从1到10,则存放M 至少需要 个字节。
a. 90b.180c.240d.540 7.在线索二叉树中,结点p 没有左子树的充要条件是 。
a. p->lch==NULLb. p->ltag==1c. p->ltag==1且p->lch=NULLd. 以上都不对8.在栈操作中,输入序列为(A ,B ,C ,D ),不可能得到的输出序列为:______A 、(A ,B ,C ,D ) B 、(D ,C ,B ,A ) C 、(A ,C ,D ,B ) D 、(C ,A ,B ,D )9.已知某二叉树的后序序列是dabec ,中序序列是debac ,则它的先序序列是 。
国家开放大学《数据结构(本)》综合练习题参考答案
A. 111,113,115,117 B. 117,115,111,113 C. 117,115,113,111 D. 113,111,117,115 11.图状结构中数据元素的位置之间存在( )的关系。 A. 每一个元素都有一个且只有一个直接前驱和一个直接后继 B. 多对多 C. 一对一 D. 一对一 12.以下说法正确的是( )。 A. 栈和队列的特点都是后进后出 B. 队列的特点是先进后出 C. 栈的特点是先进先出 D. 栈的特点是先进后出 13.一个单链表中,在 p 所指结点之后插入一个 s 所指的结点时,可执行: s->next=p->next;和( )。 A. s=p->next; B. p=s->next;
国家开放大学《数据结构(本)》综合练习题参考答案
一、填空题 1.对稀疏矩阵进行压缩存储,可采用三元组表,一个有 10 行的稀疏矩阵 A 共有 97 个零元素,其相应的三元组表共有 3 个元素。该矩阵 A 有(10)列。 2.结构中的数据元素存在多对多的关系称为(图状)结构。 3.在单向链表中,q 指向 p 所指结点的直接后继结点,要删除 q 所指结点,可以 用操作(p->next;)= q->next;。 4.n 个元素进行冒泡法排序,第 j 趟冒泡要进行(n-j)次元素间的比较。 5.对稀疏矩阵进行压缩存储,矩阵中每个非零元素对应的三元组包括该元素的行 下标、列下标和(数组元素)三项信息。 6.中序遍历(二叉排序树)树可得到一个有序序列。 7.队列的操作特点是后进(后出)。 8.待排序的序列为 8,3,4,1,2,5,9,采用直接选择排序算法,当进行了两 趟选择后,结果序列为(1,2,4,8,3,5,9)。 9.n 个元素进行冒泡法排序,通常需要进行(n-1)趟冒泡。 10.广义表((a,b),d,e((i,j),k))的长度是(4) 。 11.中序遍历二叉排序树可得到一个(有序)的序列。 12.广义表的(c,a,(a,b),d,e,((i,j),k))深度是(3)。 13.广义表(c,a,(a,b),d,e,((i,j),k))的长度是(6)。 14.对稀疏矩阵进行压缩存储,可采用三元组表,一个有 10 行 10 列的稀疏矩阵 A 共有 95 个零元素,其相应的三元组表共有(5)个元素。 15.广义表的(c,a,(a,b),d,e,((i,j),k))深度是(3)。 16.在对一组记录(50,49,97,22,16,73,65,47,88)进行直接插入排序 时,当把第 7 个记录 65 插入到有序表时,为寻找插入位置需比较(3)次。 17. 循 环 队 列 在 规 定 少 用 一 个 存 储 空 间 的 情 况 下 , 队 空 的 判 定 条 件 为 (front==rear)。 18.一棵有 5 个叶结点的哈夫曼树,该树中总共有(9)个结点。 19.c 语言中,字符串“E”存储时占(2)个字节。
数据结构试题库及答案
数据结构试题库及答案一、选择题(每题2分,共20分)1. 在数据结构中,线性表的顺序存储结构通常使用()来存储。
A. 链表B. 栈C. 队列D. 数组答案:D2. 以下哪个算法不是排序算法?A. 快速排序B. 归并排序C. 深度优先搜索D. 堆排序答案:C3. 在二叉树的遍历算法中,先访问根节点,然后遍历左子树,最后遍历右子树的遍历方式是()。
A. 先序遍历B. 中序遍历C. 后序遍历D. 层序遍历答案:A4. 哈希表的冲突解决方法不包括以下哪种?A. 链地址法B. 线性探测法C. 二分查找法D. 再散列法答案:C5. 在图的遍历算法中,广度优先搜索(BFS)使用的辅助数据结构是()。
A. 栈B. 队列C. 堆D. 链表答案:B6. 下列关于堆的描述中,错误的是()。
A. 堆是一种特殊的完全二叉树B. 堆中的每个节点的值都大于其子节点的值C. 堆可以用于实现优先队列D. 堆的插入操作的时间复杂度为O(log n)答案:B7. 在一个长度为n的数组中,使用二分查找算法查找一个元素的最坏情况下的时间复杂度是()。
A. O(1)B. O(n)C. O(n^2)D. O(log n)答案:D8. 以下哪个数据结构不是线性结构?A. 链表B. 栈C. 队列D. 二叉树答案:D9. 以下哪个算法是动态查找表?A. 直接索引B. 顺序查找C. 二分查找D. 哈希表答案:D10. 在图的表示方法中,邻接矩阵表示法的缺点是()。
A. 占用空间大B. 占用空间小C. 插入和删除操作复杂D. 遍历操作复杂答案:A二、填空题(每题2分,共20分)1. 在一个长度为n的数组中,使用顺序查找算法查找一个元素的时间复杂度为________。
答案:O(n)2. 一个具有n个节点的完全二叉树的高度为________。
答案:log2(n) + 1(向上取整)3. 一个长度为n的链表,删除一个节点的时间复杂度为________。
答案:O(1)4. 在图的表示方法中,邻接表表示法的缺点是________。
《数据结构》填空作业题(答案)
《数据结构》填空作业题答案第1章绪论(已校对无误)1.数据结构包括数据的逻辑结构、数据的存储结构和数据的运算三方面的内容。
2.程序包括两个内容:数据结构和算法。
3. 数据结构的形式定义为:数据结构是一个二元组:Data Structure =(D,S)。
4. 数据的逻辑结构在计算机存储器内的表示,称为数据的存储结构。
5. 数据的逻辑结构可以分类为线性结构和非线性结构两大类。
6. 在图状结构中,每个结点的前驱结点数和后继结点数可以有多个。
7. 在树形结构中,数据元素之间存在一对多的关系。
8. 数据的物理结构,指数据元素在计算机中的标识(映象),也即存储结构。
9. 数据的逻辑结构包括线性结构、树形结构和图形结构3种类型,树型结构和有向图结构合称为非线性结构。
10. 顺序存储结构是把逻辑上相邻的结点存储在物理上连续的存储单元里,结点之间的逻辑关系由存储单元位置的邻接关系来体现。
11. 链式存储结构是把逻辑上相邻的结点存储在物理上任意的存储单元里,节点之间的逻辑关系由附加的指针域来体现。
12. 数据的存储结构可用4种基本的存储方法表示,它们分别是顺序存储、链式存储、索引存储和散列存储。
13. 线性结构反映结点间的逻辑关系是一对一的,非线性结构反映结点间的逻辑关系是一对多或多对多。
14. 数据结构在物理上可分为顺序存储结构和链式存储结构。
15. 我们把每种数据结构均视为抽象类型,它不但定义了数据的表示方式,还给出了处理数据的实现方法。
16. 数据元素可由若干个数据项组成。
17. 算法分析的两个主要方面是时间复杂度和空间复杂度。
18. 一个算法的时间复杂度是用该算法所消耗的时间的多少来度量的,一个算法的空间复杂度是用该算法在运行过程中所占用的存储空间的大小来度量的。
19. 算法具有如下特点:有穷性、确定性、可行性、输入、输出。
20. 对于某一类特定的问题,算法给出了解决问题的一系列操作,每一操作都有它的确切的定义,并在有穷时间内计算出结果。
(完整版)数据结构练习题及参考答案
数据结构练习题第一部分绪论一、单选题1. 一个数组元素a[i]与________的表示等价。
A、 *(a+i)B、 a+iC、 *a+iD、 &a+i2. 对于两个函数,若函数名相同,但只是____________不同则不是重载函数。
A、参数类型B、参数个数C、函数类型3. 若需要利用形参直接访问实参,则应把形参变量说明为________参数A、指针B、引用C、值4. 下面程序段的时间复杂度为____________。
for(int i=0; i<m; i++)for(int j=0; j<n; j++)a[i][j]=i*j;A、 O(m2)B、 O(n2)C、 O(m*n)D、 O(m+n)5. 执行下面程序段时,执行S语句的次数为____________。
for(int i=1; i<=n; i++)for(int j=1; j<=i; j++)S;A、 n2B、 n2/2C、 n(n+1)D、 n(n+1)/26. 下面算法的时间复杂度为____________。
int f( unsigned int n ) {if ( n==0 || n==1 ) return 1; else return n*f(n-1);}A、 O(1)B、 O(n)C、 O(n2)D、 O(n!)二、填空题1. 数据的逻辑结构被分为__________、_________、__________和__________四种。
2. 数据的存储结构被分为__________、_________、__________和__________四种。
3. 在线性结构、树形结构和图形结构中,前驱和后继结点之间分别存在着________、________和________的联系。
4. 一种抽象数据类型包括__________和__________两个部分。
5. 当一个形参类型的长度较大时,应最好说明为_________,以节省参数值的传输时间和存储参数的空间。
数据结构考试题及答案
数据结构考试题及答案一、选择题1. 下列哪种数据结构是一种线性结构?A. 树B. 栈C. 图D. 队列答案:B. 栈2. 以下哪种不是二叉树的遍历方式?A. 先序遍历B. 层序遍历C. 后序遍历D. 中序遍历答案:B. 层序遍历3. 在队列中,哪种操作不是O(1)时间复杂度的?A. 入队B. 出队C. 判空D. 获取队首元素答案:D. 获取队首元素二、填空题4. 二叉查找树的中序遍历结果为_______。
答案:升序排列的序列5. 栈的特点是_______进,_______出。
答案:后进,先出6. 图中两点间存在边则称它们为_______。
答案:邻接点三、简答题7. 请简要介绍一下栈和队列的应用场景及区别。
答:栈和队列都是常用的数据结构,栈适合用于实现括号匹配、表达式求值等场景,而队列常用于实现广度优先搜索、缓存队列等。
栈是一种后进先出的数据结构,而队列是一种先进先出的数据结构。
8. 什么是哈希表?它的优缺点分别是什么?答:哈希表是一种通过哈希函数将关键字映射到数组位置的数据结构。
其优点是能够快速查找、插入、删除元素,时间复杂度接近O(1);缺点是可能发生哈希冲突,导致性能下降。
四、综合题9. 给定以下无向图的邻接矩阵表示,请写出图的深度优先搜索(DFS)遍历路径。
```0 1 2 30 0 1 0 11 1 0 1 12 0 1 0 13 1 1 1 0```答:起始节点为0,路径:0 - 1 - 3 - 210. 写出以下树的层序遍历结果。
```1/ \2 3/ \ / \4 5 6 7```答:1 - 2 - 3 - 4 - 5 - 6 - 7以上就是数据结构考试题及答案,希望对您有所帮助。
如果有不清楚的地方,欢迎随时向老师询问。
祝您考试顺利!。
数据结构第九、十章 作业答案
第九章 查找一、填空题1. 在数据的存放无规律而言的线性表中进行检索的最佳方法是 顺序查找(线性查找) 。
2. 线性有序表(a 1,a 2,a 3,…,a 256)是从小到大排列的,对一个给定的值k ,用二分法检索表中与k 相等的元素,在查找不成功的情况下,最多需要检索 8 次。
设有100个结点,用二分法查找时,最大比较次数是 7 。
3. 假设在有序线性表a[1..20]上进行折半查找,则比较一次查找成功的结点数为1;比较两次查找成功的结点数为 2 ;比较四次查找成功的结点数为 8 ,其下标从小到大依次是1,3,6,8,11,13,16,19______,平均查找长度为 3.7 。
解:显然,平均查找长度=O (log 2n )<5次(25)。
但具体是多少次,则不应当按照公式)1(log 12++=n nn ASL 来计算(即(21×log 221)/20=4.6次并不正确!)。
因为这是在假设n =2m -1的情况下推导出来的公式。
应当用穷举法罗列:全部元素的查找次数为=(1+2×2+4×3+8×4+5×5)=74; ASL =74/20=3.7 !!! 4.折半查找有序表(4,6,12,20,28,38,50,70,88,100),若查找表中元素20,它将依次与表中元素 28,6,12,20 比较大小。
5. 在各种查找方法中,平均查找长度与结点个数n 无关的查找方法是 散列查找 。
6. 散列法存储的基本思想是由 关键字的值 决定数据的存储地址。
7. 有一个表长为m 的散列表,初始状态为空,现将n (n<m )个不同的关键码插入到散列表中,解决冲突的方法是用线性探测法。
如果这n 个关键码的散列地址都相同,则探测的总次数是 n(n-1)/2=( 1+2+…+n-1) 。
(而任一元素查找次数 ≤n-1)8、设一哈希表表长M 为100 ,用除留余数法构造哈希函数,即H (K )=K MOD P (P<=M ), 为使函数具有较好性能,P 应选( 97 )9、在各种查找方法中,平均查找长度与结点个数无关的是哈希查找法 10、对线性表进行二分查找时,要求线性表必须以 顺序 方式存储,且结点按关键字有序排列。
数据结构第九、十章 作业答案
第九章 查找一、填空题1. 在数据的存放无规律而言的线性表中进行检索的最佳方法是 顺序查找(线性查找) 。
2. 线性有序表(a 1,a 2,a 3,…,a 256)是从小到大排列的,对一个给定的值k ,用二分法检索表中与k 相等的元素,在查找不成功的情况下,最多需要检索 8 次。
设有100个结点,用二分法查找时,最大比较次数是 7 。
3. 假设在有序线性表a[1..20]上进行折半查找,则比较一次查找成功的结点数为1;比较两次查找成功的结点数为 2 ;比较四次查找成功的结点数为 8 ,其下标从小到大依次是1,3,6,8,11,13,16,19______,平均查找长度为 3.7 。
解:显然,平均查找长度=O (log 2n )<5次(25)。
但具体是多少次,则不应当按照公式)1(log 12++=n n n ASL 来计算(即(21×log 221)/20=4.6次并不正确!)。
因为这是在假设n =2m -1的情况下推导出来的公式。
应当用穷举法罗列:全部元素的查找次数为=(1+2×2+4×3+8×4+5×5)=74; ASL =74/20=3.7 !!!4.折半查找有序表(4,6,12,20,28,38,50,70,88,100),若查找表中元素20,它将依次与表中元素 28,6,12,20 比较大小。
5. 在各种查找方法中,平均查找长度与结点个数n 无关的查找方法是 散列查找 。
6. 散列法存储的基本思想是由 关键字的值 决定数据的存储地址。
7. 有一个表长为m 的散列表,初始状态为空,现将n (n<m )个不同的关键码插入到散列表中,解决冲突的方法是用线性探测法。
如果这n 个关键码的散列地址都相同,则探测的总次数是 n(n-1)/2=( 1+2+…+n-1) 。
(而任一元素查找次数 ≤n-1)8、设一哈希表表长M 为100 ,用除留余数法构造哈希函数,即H (K )=K MOD P (P<=M ), 为使函数具有较好性能,P 应选( 97 )9、在各种查找方法中,平均查找长度与结点个数无关的是哈希查找法10、对线性表进行二分查找时,要求线性表必须以 顺序 方式存储,且结点按关键字有序排列。
数据结构第三次作业题及答案.doc
第3次作业一、填空题(本大题共30分,共10小题,每小题3分)1.具有8个顶点的无向图,边的总数最多为_______ o2.树在计算机内的表示方式有______ , ______ , _____ o3.设有一个n阶的下三角矩阵A,如果按照行的顺序将下三角矩阵中的元素(包描对角线上元素)存放在n(n+l)个连续的存储单元中,则A[i][j]与A[0][0] Z间有 _______ 个数据元素。
4.队列是限制插入只能在表的一端,而删除在表的另一端进行的线性表,其特点是______ O5.在广义表的存储结构中,单元索结点与表元索结点有一个域对应不同,各自分别为______ 域和_______ 域。
6.构造连通网最小生成树的两个典型算法是______ O7.在一个稀疏矩阵中,每个非零元索所对应的三元组包括该元索的_________ 、和三项。
8.已知一棵度为3的树有2个度为1的结点,3个度为2的结点,4个度为3的结点,则该树有__________ 个叶子结点。
9.非空的单循环链表head的尾结点(由p指针所指)满足条件10.在哈希文件屮,处理冲突的方法通常有______ 、______ 、______ 和______ 四种。
二、算法设计题(本大题共20分,共2小题,每小题10分)1.回文是指止读反读均相同的字符序列,如〃abba〃和〃abdba"均是回文,但"good" 不是回文。
试写一个算法判定给定的字符向量是否为回文。
2.编写一个算法将一个头结点指针为pa的单链表A分解成两个单链表A和B,其头结点指针分别为g和pb,使得A链表小含有原链表AM序号为奇数的元索,而链表B屮含有原链表A屮序号为偶数的元索,且保持原来的相对顺序。
三、简答题(本大题共20分,共4小题,每小题5分)1.何时选用顺序表、何时选用链表作为线性表的存储结构为宜?2.一棵度为2的树与一棵二义树有何区别?3.指出下述程序段的功能是什么?void Demol( SeqStack *S, int m){ // 设DataType 为int 型SeqStack T; inti;InitStack (&T);while (! StackEmpty( S))if (( i二Pop(S)) !=m) Push( &T, i);while (! StackEmpty( &T)){i二Pop(&T); Push(S, i);4.给定集合{15, 3, 14, 2, 6, 9, 16, 17}(1)(3分)用□表示外部结点,用O表示内部结点,构造相应的huffman 树:(2)(2分)计算它的带权路径长度:(3)(2分)写出它的huffman编码:(4)(3分)huffman编码常用来译码,请用语言叙述写出其译码的过程。
数据结构考试试题及答案
数据结构考试试题及答案一、选择题(每题2分,共20分)1. 在数据结构中,线性表的顺序存储结构通常使用什么类型的数据结构来实现?A. 栈B. 队列C. 数组D. 链表答案:C2. 下列选项中,哪一个不是二叉树的性质?A. 任意节点的左子树和右子树的深度可能不同B. 任意节点的左子树和右子树的深度相同C. 任意节点的左子树和右子树的节点数可能不同D. 任意节点的左子树和右子树的节点数相同答案:B3. 哈希表的冲突解决方法不包括以下哪种?A. 开放定址法B. 链地址法C. 线性探测法D. 排序法答案:D4. 以下哪种排序算法的时间复杂度最低?A. 冒泡排序B. 快速排序C. 插入排序D. 归并排序答案:B5. 在图的遍历算法中,深度优先搜索(DFS)使用的栈是:A. 系统栈B. 显式栈C. 隐式栈D. 以上都不是答案:B6. 以下哪种数据结构可以有效地实现稀疏矩阵的存储?A. 顺序存储B. 链表C. 散列D. 邻接矩阵答案:C7. 在二叉搜索树中,插入一个新节点后,树的平衡因子可能为:A. -2B. 0C. 2D. 3答案:A8. 堆数据结构中,父节点的值总是大于其子节点的值,这种堆被称为:A. 最小堆B. 最大堆C. 完全二叉树D. 满二叉树答案:B9. 以下哪个算法不是动态查找表的算法?A. 直接查找B. 二分查找C. 斐波那契查找D. 哈希查找答案:A10. 在图的遍历算法中,广度优先搜索(BFS)使用的栈是:A. 系统栈B. 显式栈C. 隐式栈D. 以上都不是答案:C二、填空题(每题2分,共20分)1. 在数据结构中,栈是一种______结构,遵循后进先出(LIFO)的原则。
答案:线性2. 一个具有n个顶点的无向图的边数最多为______。
答案:n*(n-1)/23. 快速排序算法的时间复杂度在最坏情况下为______。
答案:O(n^2)4. 在哈希表中,如果一个关键字的哈希地址已经被占用,则需要进行______。
数据结构作业及答案
第一章绪论一、选择题1.数据结构是一门研究非数值计算的程序设计问题中计算机的1以及它们之间的2和运算等的学科。
1 A.数据元素 B.计算方法 C.逻辑存储 D.数据映像2 A.结构 B.关系 C.运算 D.算法2.数据结构被形式地定义为(K, R),其中K是1的有限集,R是K上的2有限集。
1 A.算法 B.数据元素 C.数据操作 D.逻辑结构2 A.操作 B.映像 C.存储 D.关系3.在数据结构中,从逻辑上可以把数据结构分成。
A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.内部结构和外部结构4.线性结构的顺序存储结构是一种1的存储结构,线性表的链式存储结构是一种2的存储结构。
A.随机存取 B.顺序存取 C.索引存取 D.散列存取5.算法分析的目的是1,算法分析的两个主要方面其一是指2,其二是指正确性和简单性。
1 A.找出数据结构的合理性 B.研究算法中的输入和输出的关系C.分析算法的效率以求改进D.分析算法的易懂性和文档性2 A.空间复杂度和时间复杂度 B.研究算法中的输入和输出的关系C.可读性和文档性D.数据复杂性和程序复杂性k6.计算机算法指的是1,它必须具备输入、输出和2等5个特性。
1 A.计算方法 B.排序方法 C.解决问题的有限运算序列 D.调度方法2 A.可执行性、可移植性和可扩充性 B.可行性、确定性和有穷性C.确定性、有穷性和稳定性D.易读性、稳定性和安全性7.线性表的逻辑顺序与存储顺序总是一致的,这种说法。
A.正确 B.不正确8线性表若采用链式存储结构时,要求内存中可用存储单元的地址。
A.必须连续的B.部分地址必须连续的C.一定是不续的D连续不连续都可以9.以下的叙述中,正确的是。
A.线性表的存储结构优于链式存储结构 B.二维数组是其数据元素为线性表的线性表C.栈的操作方式是先进先出D.队列的操作方式是先进后出10.每种数据结构都具备三个基本运算:插入、删除和查找,这种说法。
《数据结构》填空作业题(答案)
《数据结构》填空作业题答案第1章绪论(已校对无误)1.数据结构包括数据的逻辑结构、数据的存储结构和数据的运算三方面的内容。
2.程序包括两个内容:数据结构和算法。
3。
数据结构的形式定义为:数据结构是一个二元组:Data Structure =(D,S).4. 数据的逻辑结构在计算机存储器内的表示,称为数据的存储结构。
5。
数据的逻辑结构可以分类为线性结构和非线性结构两大类。
6. 在图状结构中,每个结点的前驱结点数和后继结点数可以有多个。
7。
在树形结构中,数据元素之间存在一对多的关系。
8。
数据的物理结构,指数据元素在计算机中的标识(映象),也即存储结构.9。
数据的逻辑结构包括线性结构、树形结构和图形结构3种类型,树型结构和有向图结构合称为非线性结构。
10. 顺序存储结构是把逻辑上相邻的结点存储在物理上连续的存储单元里,结点之间的逻辑关系由存储单元位置的邻接关系来体现。
11. 链式存储结构是把逻辑上相邻的结点存储在物理上任意的存储单元里,节点之间的逻辑关系由附加的指针域来体现。
12. 数据的存储结构可用4种基本的存储方法表示,它们分别是顺序存储、链式存储、索引存储和散列存储。
13. 线性结构反映结点间的逻辑关系是一对一的,非线性结构反映结点间的逻辑关系是一对多或多对多.14. 数据结构在物理上可分为顺序存储结构和链式存储结构。
15. 我们把每种数据结构均视为抽象类型,它不但定义了数据的表示方式,还给出了处理数据的实现方法。
16。
数据元素可由若干个数据项组成。
17。
算法分析的两个主要方面是时间复杂度和空间复杂度。
18。
一个算法的时间复杂度是用该算法所消耗的时间的多少来度量的,一个算法的空间复杂度是用该算法在运行过程中所占用的存储空间的大小来度量的。
19。
算法具有如下特点:有穷性、确定性、可行性、输入、输出。
20. 对于某一类特定的问题,算法给出了解决问题的一系列操作,每一操作都有它的确切的定义,并在有穷时间内计算出结果.21. 下面程序段的时间复杂度为㏒3n 。
数据结构(本)-国家开放大学电大学习网形考作业题目答案
数据结构(本)一、单选题1.把数据存储到计算机中,并具体体现数据元素间的逻辑结构称为()。
A.逻辑结构B.物理结构C.算法的具体实现D.给相关变量分配存储单元正确答案: B2.下列说法中,不正确的是()。
A.数据元素是数据的基本单位B.数据项是数据中不可分割的最小可标识单位C.数据可有若干个数据元素构成D.数据项可由若干个数据元素构成正确答案: D3.一个存储结点存储一个()。
A.数据项B.数据元素C.数据结构D.数据类型正确答案: B4.数据结构中,与所使用的计算机无关的是数据的()。
A.存储结构B.物理结构C.逻辑结构D.物理和存储结构正确答案: C5.在线性表的顺序结构中,以下说法正确的是()。
A.逻辑上相邻的元素在物理位置上不一定相邻B.数据元素是不能随机访问的C.逻辑上相邻的元素在物理位置上也相邻D.进行数据元素的插入、删除效率较高正确答案: C6.对链表, 以下叙述中正确的是()。
A.不能随机访问任一结点B.结点占用的存储空间是连续的C.插入删除元素的操作一定要要移动结点D.可以通过下标对链表进行直接访问正确答案: A7.下列的叙述中,不属于算法特性的是()。
A.有穷性B.输入性C.可行性D.可读性8.算法的时间复杂度与()有关。
A.所使用的计算机B.计算机的操作系统C.算法本身D.数据结构正确答案: C9.设有一个长度为n的顺序表,要在第i个元素之前(也就是插入元素作为新表的第i个元素),插入一个元素,则移动元素个数为()。
A.n-i+1B.n-iC.n-i-1D.i正确答案: A10.设有一个长度为n的顺序表,要删除第i个元素移动元素的个数为()。
A.n-i+1B.n-iC.n-i-1D.i正确答案: B11.在一个单链表中,p、q分别指向表中两个相邻的结点,且q所指结点是p所指结点的直接后继,现要删除q所指结点,可用语句()。
A.p=q->nextB.p->next=qC.p->next=q->nextD.q->next=NULL正确答案: C12.在一个单链表中p所指结点之后插入一个s所指的结点时,可执行()。
数据结构题及参考答案
数据结构作业题作业题(一)一、单项选择题1. 从逻辑上可以把数据结构分为( c )两大类。
A.动态结构、静态结构 B.顺序结构、链式结构C.线性结构、非线性结构 D.初等结构、构造型结构2. 链表不具有的特点是( b )A.插入、删除不需要移动元素 B.可随机访问任一元素C.不必事先估计存储空间 D.所需空间与线性长度成正比3.下面程序段的时间复杂度的量级为( d )。
For(i=1;i<=n;i++)For(j=1;j<=I;j++)For(k=1;k<=j;k++)X=x+1;A.O(1) B.O(n)C.O(n²) D.O(n³)4.在一个带头结点的双向循环链表中,若要在p所指向的结点之前插入一个新结点,则需要相继修改(c)个指针域的值。
A.2 B.3C.4 D.65、一个顺序存储线性表的第一个元素的存储地址是90,每个元素的长度是2,则第6个元素的存储地址是( b )。
A.98 B.100C.102 D.1066、判定一个栈s(最多元素为m0)为空的条件是(b)。
A.s-〉top! =0 B.s-〉top= =0C.s-〉top! =m0 D.s-〉top= =m07、循环队列用数组A[m](下标从0到m-1)存放其元素值,已知其头尾指针分别是front和rear,则当前队列中的元素个数是( a )。
A.(rear-front+m)%m B.rear-front+1C.rear-front-1 D. rear-front8、设有两个串S1与S2,求串S2在S1中首次出现位置的运算称作(c)。
A.连接 B.求子串C.模式匹配 D.判子串9、设串S1='ABCDEFG',S2='PQRST',函数con(x,y)返回x和y串的连接串,subs(s,i,j)返回串S的的从序号i的字符开始的j个字符组成的子串,len(s)返回串S的长度,则con(subs(S1,2,len(S2)),subs(S1,len(S2),2))的结果是( d )。
数据结构习题(含答案)
一、单选题(每小题3分,共30分)1.在逻辑上可以把数据结构分成。
( ) A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.内部结构和外部结构2.串是_________。
( ) A.不少于一个字母的序列B.任意个字母的序列C.不少于一个字符的序列D.有限个字符的序列3.在n个元素的顺序表中,时间复杂度是O(1)的操作是______。
( ) A.获得第i个数据元素值B.查找给定值C.在第i个位置上插入数据元素D.删除第i个数据元素4.线性表若采用链式存储结构时,要求内存中可用存储单元的地址________。
( )A. 必须是连续的B. 部分地址必须是连续的C. 一定是不连续的D. 连续或不连续都可以5.单链表中,在p结点之后插入q结点,操作的语句为。
( ) A.q->next=p->next,p->next=q B.p=q->next,q->next=pC.p->next=q->next,q->next=p D.q=p->next,p->next=q6.栈中数据元素的插入和删除操作是在表的进行的。
( )A.一端B.两端C.中间D.任意位置7.队列的特点是。
( )A.先进先出B.后进先出C.先进后出D.随机存取8.树中结点A有3个兄弟,结点B是A的双亲,则B的度是。
( )A.1B.2C.3D.49.下面关于图的存储结构的叙述中正确的是____________。
( )A.用邻接矩阵存储图,占用空间大小只与图中顶点数有关,而与边数无关B.用邻接矩阵存储图,占用空间大小只与图中边数有关,而与顶点数无关C.用邻接表存储图,占用空间大小只与图中顶点数有关,而与边数无关D.用邻接表存储图,占用空间大小只与图中边数有关,而与顶点数无关10.对于不带权的有向图,其邻接矩阵的每一列包含的“1”的个数为。
( )A.图中每个顶点的入度B.图中每个顶点的出度C.图中弧的条数D.图中连通分量的数目二、判断题(每小题1分,共10分)对于正确的说法,请在题前的括号内打√,错误的说法则打×。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数据结构》填空作业题答案第 1 章绪论(已校对无误)1.数据结构包括数据的逻辑结构、数据的存储结构和数据的运算三方面的内容。
2.程序包括两个内容:数据结构和算法。
3.数据结构的形式定义为:数据结构是一个二元组:Data Structure =( D, S)。
4.数据的逻辑结构在计算机存储器内的表示,称为数据的存储结构。
5.数据的逻辑结构可以分类为线性结构和非线性结构两大类。
6.在图状结构中,每个结点的前驱结点数和后继结点数可以有多个。
7.在树形结构中,数据元素之间存在一对多的关系。
8.数据的物理结构,指数据元素在计算机中的标识(映象),也即存储结构。
9.数据的逻辑结构包括线性结构、树形结构和图形结构 3 种类型,树型结构和有向图结构合称为非线性结构。
10. 顺序存储结构是把逻辑上相邻的结点存储在物理上连续的存储单元里,结点之间的逻辑关系由存储单元位置的邻接关系来体现。
11. 链式存储结构是把逻辑上相邻的结点存储在物理上任意的存储单元里,节点之间的逻辑关系由附加的指针域来体现。
12.数据的存储结构可用 4 种基本的存储方法表示,它们分别是顺序存储、链式存储、索引存储和散列存储。
13. 线性结构反映结点间的逻辑关系是一对一的,非线性结构反映结点间的逻辑关系是一对多或多对多。
14.数据结构在物理上可分为顺序存储结构和链式存储结构。
15. 我们把每种数据结构均视为抽象类型,它不但定义了数据的表示方式,还给出了处理数据的实现方法。
16.数据元素可由若干个数据项组成。
17.算法分析的两个主要方面是时间复杂度和空间复杂度。
18.一个算法的时间复杂度是用该算法所消耗的时间的多少来度量的,一个算法的空间复杂度是用该算法在运行过程中所占用的存储空间的大小来度量的。
19.算法具有如下特点:有穷性、确定性、可行性、输入、输出。
20. 对于某一类特定的问题,算法给出了解决问题的一系列操作,每一操作都有它的确切的定义,并在有穷时间内计算出结果。
21. 下面程序段的时间复杂度为㏒ 3n 。
1i=1 ;while(i<=n)i= i ﹡3;第 2 章线性表(已校对无误)1.一线性表表示如下:(a1 ,a2,⋯,ai-1,ai ,ai+1 ,⋯,an),其中每个 ai 代表一个数据元素(或结点)。
a1 称为起始结点, an 称为终端结点, i 称为 ai 在线性表中的位置(或序号)。
对任意一对相邻结点 ai,ai+1 ,(1≤i ≤n),ai 称为 ai+1 的直接前驱,ai+1 称为 ai 的直接后继。
2. 对一个长度为 n 的线性表,要删除第 i 个元素,则在顺序表示的情况下,计算复杂性为O(n) ,在链式表示的情况下,计算复杂性为O(1) 。
3. 在一个长度为 n 的顺序表中,向第 i 个元素( 1≤ i≤n)之前插入一个新元素时,需向后移动n -i +1 个元素。
4. 顺序表中逻辑上相邻的元素在物理位置上一定相连。
5. 在 n 个结点的顺序表中插入一个结点需平均移动n/2 个结点,具体的移动次数取决于表长 n 和插入位置 i 。
6. 在顺序表中访问任意一个结点的时间复杂度均为O(1) ,因此,顺序表也称为随机访问的数据结构。
7. 顺序表相对于链表的优点有随机访问和空间利用率高。
8. 在长度为 n 的顺序表中插入一个元素的时间复杂度为O(n) 。
9.在带有头结点的单链表 L 中,若要删除第一个结点,则须执行下列三条语句: U= L->next ;L->next=U->next ;free(U)。
10.链表相对于顺序表的优点有插入和删除操作方便。
11.在单链表中除首结点外,任意结点的存储位置都由直接前驱结点中的指针指示。
12. 在 n 个结点的单链表中要删除已知结点*p ,需找到它的直接前驱结点的地址,其时间复杂度为O(n) 。
13.单链表中设置头结点的作用是简化操作,减少边界条件的判断。
14.在带表头结点的单链表中,当删除某一指定结点时,必须找到该结点的前驱结点。
15. 在双链表中,每个结点有两个指针域,一个指向前驱结点,另一个指向后续结点。
16.带头结点的单链表 L 为空的判定条件是 L -> next==NULL ,不带头结点的单链表 L 为空的判定条件是L==NULL 。
17. 在单链表中,指针p 所指结点为最后一个结点的条件是p-> next==NULL 。
218. 循环链表的最大优点是从表中任意结点出发都可访问到表中每一个元素(或从表中任意结点出发都可遍历整个链表)。
19.设 rear 是指向非空、带头结点的循环单链表的尾指针,则该链表首结点的存储位置是rear->next->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 后,输出序列是 2 3 4 。
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. 用 S 表示入栈操作, X 表示出栈操作,若元素入栈顺序为1234,为了得到 1342 出栈顺序,相应的 S、X 操作串为 SXSSXSXX 。
16. 向一个栈顶指针为 top 的链式栈中插入一个新结点 *p 时,应执行p->link =top 和 top=p3操作。
17.从一个栈顶指针为 top 的非空链式栈中删除结点并不需要返回栈顶结点的值和回收结点时,应执行 top=top->link 操作。
18.设有一个空栈,栈顶指针为 1000H(十六进制。
现有输入序列为 1,2,3,4,5,经过 PUSH,PUSH,POP, PUSH,POP,PUSH, PUSH 之后,输出序列是2,3 ,而栈顶指针是100C H。
设栈为顺序栈,每个元素占 4 个字节。
19. 在作入栈运算时应先判别栈是否满;在作出栈运算时应先判别栈是否空。
10. 用一个大小为1000 的数组来实现循环队列,当前rear 和 front 的值分别为 0 和 994,若要达到队满的条件,还需要继续入队的元素个数是993 。
20.队列的插入操作在队尾进行,删除操作在队头进行。
21. 在一个循环队列Q 中,判断队空的条件为Q.front==Q.rear ,判断队满的条件为(Q.rear +1)%maxSize==Q.front 。
22. 向一个循环队列中插入元素时,需要首先移动队尾指针,然后再向所指位置写入(或插入)新插入的元素。
23. 当用长度为n 的数组顺序存储一个栈时,若用top==n 表示栈空,则表示栈满的条件为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 ⋯9,0⋯ 19]采用列序为主方式存储,每个元素占一个存储单元,并且元素A[0 ,0]的存储地址是 200,则元素 A[6 ,12]的地址是332 。
3. 二维数组 A[1 0⋯20,5⋯10]采用行序为主方式存储,每个元素占 4 个存储单元,并且元素A[10 ,5] 的存储地址是 1000,则元素 A[18 , 9]的地址是1208 。
4补充:1. 一维数组的逻辑结构是线性结构,存储结构是顺序存储结构。
2. 对于二维数组或多维数组,分为按以行为主序和按以列为主序两种不同的存储方式存储。
3. 对矩阵压缩存储是为了节省存储空间。
4. 二维数组是一种非线性结构,其中的每一个数组元素最多有二个直接前驱(或直接后继)。
第 6 章树(已校对无误)4.结点最少的树为只有一个结点的树,结点最少的二叉树为空的二叉树。
5. 根据二叉树的定义,具有三个结点的二叉树有 5 种不同的形态,它们分别是。
6. 具有 n 个结点的完全二叉树的深度为。
8. 以数据集 {4 ,5,6,7,10,12, 18}为结点权值所构造的哈夫曼树为需用图示,其带权路径长度为 165 。
9. 哈夫曼树是带权路径长度最短的树,通常权值较大的结点离根较近。
10.在先序遍历二叉树的序列中,任何结点的子树上的所有结点,都是直接跟在该结点之后。