福师《数据结构概论》在线作业一-0004参考答案
数据结构1-4章习题答案

第1章概论习题参考解答一、填空题1、数据的逻辑结构是数据元素之间的逻辑关系,通常有下列4类:()、()、()、()。
【答】集合、线性结构、树型结构和图状结构。
2、数据的存储结构是数据在计算机存储器里的表示,主要有4种基本存储方法:()、()、()、()。
【答】顺序存储方法、链接存储方法、索引存储方法和散列存储方法。
二、选择题1、一个算法必须在执行有穷步之后结束,这是算法的()。
(A)正确性(B)有穷性(C)确定性(D)可行性【答】B。
2、算法的每一步,必须有确切的定义。
也就是说,对于每步需要执行的动作必须严格、清楚地给出规定。
这是算法的()。
(A)正确性(B)有穷性(C)确定性(D)可行性【答】C。
3、算法原则上都是能够由机器或人完成的。
整个算法好像是一个解决问题的“工作序列”,其中的每一步都是我们力所能及的一个动作。
这是算法的()。
(A)正确性(B)有穷性(C)确定性(D)可行性【答】D。
三、简答题1、算法与程序有何异同?【答】尽管算法的含义与程序非常相似,但两者还是有区别的。
首先,一个程序不一定满足有穷性,因此它不一定是算法。
例如,系统程序中的操作系统,只要整个系统不遭受破坏,它就永远不会停止,即使没有作业要处理,它仍处于等待循环中,以待一个新作业的进入。
因此操作系统就不是一个算法。
其次,程序中的指令必须是计算机可以执行的,而算法中的指令却无此限止。
如果一个算法采用机器可执行的语言来书写,那么它就是一个程序。
2、什么是数据结构?试举一个简单的例子说明。
【答】数据结构是指数据对象以及该数据对象集合中的数据元素之间的相互关系(即数据元素的组织形式)。
例如,队列的逻辑结构是线性表(先进先出);队列在计算机中既可以采用顺序存储也可以采用链式存储;对队列可进行删除、插入数据元素以及判断是否为空队列、将队列置空等操作。
3、什么是数据的逻辑结构?什么是数据的存储结构?【答】数据元素之间的逻辑关系,也称为数据的逻辑结构。
数据结构1-4章习题答案

第一章绪论一、选择题1.D2.C3.C4.B5.D6.C7.D8.C9.A 10.D11.D 12.B二、填空题1. 逻辑结构存储结构运算2. 集合结构线性结构树形结构图状结构3. 有穷性. 确定性. 可行性. 输入. 输出4. 顺序存储. 链式存储5. 数据元素6. 线性结构非线性结构三、简答题1. 尽管算法的含义与程序非常相似,但两者还是有区别的。
首先,一个程序不一定满有穷性,因为它不是一个算法。
其次,程序中的指令必须是计算机可以执行的,而算法中的指令却无此限制。
如果一个算法采用机器可执行的语言来书写,那么它就是一个程序。
2. 数据结构是指数据对象以及该数据对象集合中的数据元素之间的相互关系(数据元素的组织形式)。
例如:队列的逻辑结构是线性表(先进后出);队列在计算机中既可以采用顺序存储也可以采用链式存储;队列可进行删除数据元素. 插入数据元素. 判断是否为空队列,以及队列置空等操作。
3. 数据元素之间的逻辑关系,也称为数据的逻辑结构。
数据元素以及它们之间的相互关系在计算机存储器内的表示(又称映像)称为数据的存储结构,也称数据的物理结构。
4. 算法是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一条指令表示一个或者多个操作。
此外,一个算法还具有下列5个特性:(1)有穷性:一个算法必须在执行有穷步之后结束,即算法必须在有限时间内完成。
(2)确定性:算法中每一步必须有明确的含义,不会产生二义性。
并且,在任何条件下,算法只有唯一的一条执行路径,即对于相同的输入只能得出相同的输出。
(3)可行性:一个算法是能执行的,即算法中的每一步都可以通过已经实现的基本运算执行有限次得以实现。
(4)输入:一个算法有零个或者多个输入,它们是算法开始时对算法给出的初始量。
(5)输出:一个算法有一个或者多个输出,它们是与输入有特定关系的量5. 举例说明四种基本结构的区别:集合: 数据元素之间无任何关系,如集合A={x,5,t,&};线性结构: 数据元素之间存在一个对一个的关系,如线性表L=(2,3,4,5,7,10);树形结构: 数据元素之间存在一个对多个的关系,如文件系统目录管理;图状结构: 数据元素之间存在多个对多个的关系,如教学计划课程安排顺序图。
17春福师《数据结构概论》在线作业二

17春福师《数据结构概论》在线作业二2017秋17春福师《数据结构概论》在线作业二一、单选题(共25 道试题,共50 分。
)1. 下列排序算法中,()算法可能会出现下面情况:在最后一趟开始之前,所有元素都不在其最终的位置上。
A. 堆排序B. 冒泡排序C. 快速排序D. 插入排序正确答案:2. 算法的计算量的大小称为计算的()A. 效率B. 复杂性C. 现实性D. 难度正确答案:3. 广义表运算式Tail(((a,b),(c,d)))的操作结果是()。
A. (c,d)B. c,dC. ((c,d))D. d正确答案:4. 散列函数有一个共同的性质,即函数值应当以( )取其值域的每个值。
A. 最大概率B. 最小概率C. 平均概率D. 同等概率正确答案:5. 关键路径是事件结点网络中()A. 从源点到汇点的最长路径B. 从源点到汇点的最短路径C. 最长回路D. 最短回路正确答案:6. 在用邻接表表示图时,拓扑排序算法时间复杂度为( )。
A. O(n)B. O(n+e)C. O(n*n)D. O(n*n*n)正确答案:7. n个结点的线索二叉树上含有的线索数为()A. 2nB. n-lC. n+lD. n正确答案:8. 在用邻接表表示图时,拓扑排序算法时间复杂度为()A. O(n)B. O(n+e)C. O(n*n)D. O(n*n*n)正确答案:9. 在单链表指针为p的结点之后插入指针为s的结点,正确的操作是:()。
A. p->next=s;s->next=p->next;B. s->next=p->next;p->next=s;C. p->next=s;p->next=s->next;D. p->next=s->next;p->next=s;正确答案:10. 由3 个结点可以构造出多少种不同的二叉树?()A. 2B. 3C. 4D. 5正确答案:11. 树的后根遍历序列等同于该树对应的二叉树的( ).A. 先序序列B. 中序序列C. 后序序列D. 都不正确正确答案:12. 一棵二叉树的前序遍历序列为ABCDEFG,它的中序遍历序列可能是()A. CABDEFGB. ABCDEFGC. DACEFBGD. ADCFEG正确答案:13. 具有12个关键字的有序表,折半查找的平均查找长度()A. 3.1B. 4C. 2.5D. 5正确答案:14. 要连通具有n个顶点的有向图,至少需要()条边。
福师《数据结构概论》在线作业二答卷

福师《数据结构概论》在线作业二-0004
试卷总分:100 得分:100
一、单选题 (共 25 道试题,共 50 分)
1.传统的数据库分为3种,层次型、网状型、关系型数据,其划分原则是
A.文件的大小
B.联系的复杂程度
C.记录长度
D.数据之间的联系
答案:D
2.用二分(对半)查找表的元素的速度比用顺序法()
A.必然快
B.必然慢
C.相等
D.不能确定
答案:D
3.算法的时间复杂度取决于()
A.问题的规模
B.待处理数据的初态
C.A和B
D.变量个数
答案:C
4.为了使索引键的值在基本表中唯一,在建立索引语句中应使用下面哪个保留字?
A.UNIQUE
B.COUNT
C.DISDINCT
D.UNION
答案:A
5.具有12个关键字的有序表,折半查找的平均查找长度()
A.3.1
B.4
C.2.5
D.5
答案:A
6.有六个元素6,5,4,3,2,1 的顺序进栈,问下列哪一个不是合法的出栈序列?()
A.5 4 3 6 1 2
B.4 5 3 1 2 6
C.3 4 6 5 2 1
D.2 3 4 1 5 6
答案:C。
数据结构第4章作业参考答案

第4章(数组和广义表)作业参考答案一、单项选择题1.将一个A[1..100,1..100]的三对角矩阵,按行优先压缩存储到一维数组B[1‥298]中,A 中元素A[66][65]在B数组中的位置K为(C )。
A. 198B. 197C. 195D. 1962.广义表(a,(b,c),d,e)的表头为( A )。
A. aB. a,(b,c)C. (a,(b,c))D. (a)3.在三对角矩阵中,非零元素的行标i和列标j的关系是( A )。
A. |i-j|≤1B. i>jC. i==jD. i<j4.广义表L=(a,(b,c)),进行Tail(L)操作后的结果为( D )。
A. cB. b,cC.(b,c)D.((b,c))5.设二维数组A[1..m,1..n](即m行n列)按行存储在数组B[1..m*n]中,则二维数组元素A[i,j]在一维数组B中的下标为( D )。
A. j*m+i-1B. (i-1)*n+j-1C. i*(j-1)D. (i-1)*n+j6.广义表(( ),( ),( ))的深度为( C )。
A. 0B. 1C. 2D. 37.假设以行序为主序存储二维数组A[0..99,0..99],设每个数据元素占2个存储单元,基地址为10,则LOC(A[4][4])=( C )。
A. 1020B. 1010C. 818D. 8088.已知广义表A=((a,b),(c,d)),则head(A)等于( A )。
A. (a,b)B. ((a,b))C. a,bD. a9.已知一个稀疏矩阵的三元组表如下:(1,2,3),(1,6,1),(3,1,5),(3,2,-1),(4,5,4),(5,1,-3)则其转置矩阵的三元组表中第3个三元组为( C )。
A. (2,3,-1)B. (3,1,5)C. (2,1,3)D. (3,2,-1)10.广义表((b,c),d,e)的表尾为( C )。
奥鹏2020年6月福师《数据结构概论》在线作业二.doc

1.传统的数据库分为3种,层次型、网状型、关系型数据,其划分原则是A.文件的大小B.联系的复杂程度C.记录长度D.数据之间的联系【参考答案】: D2.用二分(对半)查找表的元素的速度比用顺序法()A.必然快B.必然慢C.相等D.不能确定【参考答案】: D3.算法的时间复杂度取决于()A.问题的规模B.待处理数据的初态C.A和BD.变量个数【参考答案】: C4.为了使索引键的值在基本表中唯一,在建立索引语句中应使用下面哪个保留字?A.UNIQUEB.COUNTC.DISDINCTD.UNION【参考答案】: A5.具有12个关键字的有序表,折半查找的平均查找长度()A.3.1B.4C.2.5D.5【参考答案】: A6.有六个元素6,5,4,3,2,1 的顺序进栈,问下列哪一个不是合法的出栈序列?()A.5 4 3 6 1 2B.4 5 3 1 2 6C.3 4 6 5 2 1D.2 3 4 1 5 67.一个递归算法必须包括()A.递归部分B.终止条件和递归部分C.迭代部分D.终止条件和迭代部分【参考答案】: B8.有n个叶子的哈夫曼树的结点总数为()。
A.不确定B.2nC.2n1D.2n-1【参考答案】: D9.字符串‘ababaabab’的nextval 为()A.(0,1,0,1,04,1,0,1)B.(0,1,0,1,0,2,1,0,1)C.(0,1,0,1,0,0,0,1,1 )D.(0,1,0,1,0,1,0,1,1 )【参考答案】: A10.设计一个判别表达式中左,右括号是否配对出现的算法,采用()数据结构最佳。
A.线性表的顺序存储结构B.队列C.线性表的链式存储结构D.栈【参考答案】: D11.数据库三级模式体系结构的划分,有利于保持数据库的A.数据独立性B.数据安全性C.结构规范化D.操作可行性【参考答案】: A12.就平均性能而言,目前最好的内排序方法是( )排序法。
A.冒泡B.希尔插入C.交换D.快速13.设有部门和职员两个实体,每个职员只能属于一个部门,一个部门可以有多名职员,则部门与职员实体之间的联系类型是A.m:nB.1:mC.m:kD.1:1【参考答案】: B14.SQL语句中修改表结构的命令是?A.MODIFY TABLEB.MODIFY STRUCTUREC.ALTER TABLED.ALTER STRUCTURE【参考答案】: C15.算法的时间复杂度是由()决定的。
福师11秋《数据结构概论》在线作业二答案
福师11秋《数据结构概论》在线作业二答案福师《数据结构概论》在线作业二答案试卷总分:100 测试时间:--一、单选题(共25 道试题,共50 分。
)1. 一个算法应该是()。
A. 程序B. 问题求解步骤的描述C. 要满足五个基本特性D. A和C.满分:2 分2. 下列排序算法中()算法可能会出现下面情况:在最后一趟开始之前,所有元素都不在其最终的位置上。
A. 堆排序B. 冒泡排序C. 快速排序D. 插入排序满分:2 分3. 算法的时间复杂度是由()决定的。
A. 问题的规模B. 待处理数据的初态C. A和BD. 变量个数满分:2 分4. 在用邻接表表示图时,拓扑排序算法时间复杂度为( )。
A. O(n)B. O(n+e)C. O(n*n)D. O(n*n*n)满分:2 分5. 线索二叉树是一种()结构。
A. 逻辑B. 逻辑和存储C. 物理D. 线性满分:2 分6. 广义表((a,b,c,d))的表头是(),表尾是()。
A. aB. ()C. (a,b,c,d)D. (b,c,d)满分:2 分7. 设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a11为第一元素,其存储地址为1,每个元素占一个地址空间,则a85的地址为()A. 13B. 33C. 18D. 40满分:2 分8. 在用邻接表表示图时,拓扑排序算法时间复杂度为()A. O(n)B. O(n+e)C. O(n*n)D. O(n*n*n)满分:2 分9. 从逻辑上可以把数据结构分为()两大类A. 动态结构、静态结构B. 顺序结构、链式结构C. 线性结构、非线性结构D. 初等结构、构造型结构满分:2 分10. 字符串‘ababaabab’的nextval 为()A. (0,1,0,1,04,1,0,1)B. (0,1,0,1,0,2,1,0,1)C. (0,1,0,1,0,0,0,1,1)D. (0,1,0,1,0,1,0,1,1 )满分:2 分11. 若用冒泡排序方法对序列{10,14,26,29,41,52}从大到小排序,需进行()次比较。
《数据结构》第一章作业参考答案
第一章作业参考答案1.31.4抽象数据类型复数的定义:ADT Complex{数据对象:D={e1,e2|e1,e2∈R}数据关系:R1={<e1,e2>|e1是复数的实数部分,e2是复数的虚数部分} 基本操作:AssignComplex(&z,v1,v2)操作结果:构造复数Z,其实部和虚部分别被赋以参数v1和v2的值。
DestroyComplex(&Z)初始条件:复数已存在操作结果:复数Z被销毁GetReal(Z,&RealPart)初始条件:复数已存在操作结果:用RealPart返回复数Z的实部值GetImag(Z,&ImagPart)初始条件:复数已存在操作结果:用ImagPart返回复数Z的虚部值Add(Z1,Z2,&sum)初始条件:Z1,Z2是复数操作结果:用sum返回两个复数Z1,Z2的和Sub(Z1,Z2,&dif)初始条件:Z1,Z2是复数操作结果:用dif返回两个复数Z1,Z2的差Mul(Z1,Z2,&pro)初始条件:Z1,Z2是复数操作结果:用pro返回两个复数Z1,Z2的乘积Div(Z1,Z2,&quo)初始条件:Z1,Z2是复数操作结果:用quo返回两个复数Z1,Z2的商}//ADT Complex抽象数据类型有理数的定义:ADT Rational{数据对象:D={e1,e2|e1,e2∈N}数据关系:R1={<e1,e2>|e1是有理数的分子,e2是有理数的分母,e2≠0} 基本操作:AssignRational(&Z,v1,v2)初始条件:v2≠0操作结果:构造有理数Z,其分子和分母分别被赋以参数v1和v2的值。
DestroyRational(&Z)初始条件:有理数已存在操作结果:有理数Z被销毁GetNumerator(Z,&NumeratorPart)初始条件:有理数已存在操作结果:用NumeratorPart返回有理数Z的分子GetDenominator(Z,&DenominatorPart)初始条件:有理数已存在操作结果:用DenominatorPart返回有理数Z的分母Add(Z1,Z2,&sum)初始条件:Z1,Z2是有理数操作结果:用sum返回两个有理数Z1,Z2的和Sub(Z1,Z2,&dif)初始条件:Z1,Z2是有理数操作结果:用dif返回两个有理数Z1,Z2的差Mul(Z1,Z2,&pro)初始条件:Z1,Z2是有理数操作结果:用pro返回两个有理数Z1,Z2的乘积Div(Z1,Z2,&quo)初始条件:Z1,Z2是有理数操作结果:用quo返回两个有理数Z1,Z2的商}//ADT Rational1.7 参考C++教材1.8(1)n-1(3)n-1(5)[n(n+1)(2n+1)/6+n(n+1)/2]/2 (参考《数据结构》第一章电子教案第41页例3)(7)1.16void print_descending()//按从大到小顺序输出三个数{scanf("%d,%d,%d",&x,&y,&z);if(x<y) x<->y; //<->为表示交换的双目运算符,以下同if(x<z) x<->z;if(y<z) y<->z;printf("%d %d %d",x,y,z);}//print_descending。
《数据结构》课后参考答案
《数据结构》课后参考答案第一题:1. 什么是数据结构?数据结构是一种组织和存储数据的方式,它涉及到数据的逻辑关系、数据元素之间的操作和存储方式等。
数据结构可以帮助我们更有效地组织和管理数据,提高程序的运行效率。
第二题:2. 请简述线性表和链表的区别。
线性表是一种线性结构,其中的数据元素按照线性的顺序排列。
线性表可以使用数组实现,也可以使用链表实现。
链表是一种动态数据结构,它通过节点之间的指针连接来存储数据元素。
主要区别:- 存储方式:线性表使用静态的连续内存空间存储,而链表使用动态的节点存储,并通过指针连接节点。
- 插入和删除操作:线性表需要移动数组中的元素,而链表只需要修改指针指向即可。
- 访问效率:线性表可以通过下标直接访问元素,访问效率高;链表需要从头节点开始逐个遍历,访问效率较低。
第三题:3. 请描述栈和队列的特点及其应用场景。
栈和队列都是常用的线性数据结构,它们在不同的场景中有着不同的特点和应用。
栈的特点:- 先进后出(LIFO)的数据结构。
- 只能在栈顶进行插入和删除操作。
- 用途广泛,如函数调用、表达式求值、计算机内存的管理等。
队列的特点:- 先进先出(FIFO)的数据结构。
- 可以在队尾插入元素,在队头删除元素。
- 用途广泛,如任务调度、消息传递、广度优先搜索等。
第四题:4. 请简述树和图的区别以及它们的应用场景。
树和图都是常用的非线性数据结构,它们之间有着一些区别和各自的应用场景。
树的特点:- 由节点和边组成的层次结构。
- 每个节点最多有一个父节点和多个子节点。
- 常用的树结构有二叉树、平衡二叉树、B树等。
- 应用场景包括文件系统、数据库索引等。
图的特点:- 由节点和边组成的非线性结构。
- 节点之间的关系可以是任意的。
- 常用的图结构有有向图、无向图、加权图等。
- 应用场景包括社交网络、路由算法、拓扑排序等。
综上所述,数据结构是计算机科学的重要基础,它为我们解决实际问题提供了有力的工具和方法。
《数据结构》作业参考答案
《数据结构》作业参考答案一、选择题 1. a b 2. c 3. b 4. a,d 5. b 6. d 7. b 8.D 9.D 10.B 11.C 12.C 13. c 14.d 15.a 16.b 17.c18.d 19.c 20.b 21.b 22.c 23.c 24.d 25.d 26.c二、填空题 1.j i i ++2)1( 2.3 43. 2k-1, 2k -1, 2k-2+14. v 1, v 3, v 2, v 4, v 5 5. 46.数据项 7.结点的直接前驱结点, 结点的直接后继结点 8.ST.top= =-19.参加比较的两个字符串长度相同 10.12-h11.120三、算法应用题 1.解答:WPL=4*4+5*4+6*3+7*3+10*3+12*2+18*2 =9*4+23*3+30*2 =36+69+60 =1652.解答:和已知序列对应的二叉树是:3.4.解答:H(key) =key%136110 13761311 10 12采用开放地址法的线性探测再散列方法解决冲突,已知其装填因子32=α,对上表中的关键字序列构造所得哈希表如下:地址 01 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 key 01 14 55 27 68 19 20 84 23 11 10 77 比较次数121431131132在等概率情况下,其查找成功时的平均查找长度是:122312231131134121=+++++++++++=succ ASL5.和已知序列对应的森林如下图示:6.解答:设这8个字母的权重为7,19,2,6,32,3,21,10由上图的哈夫曼树知这8个字母的哈夫曼编码分别为0010,10,00000,0001,01,00001,11,00117.解答:①如图所示的无向带权图的邻接矩阵如下图示:按Prim 算法求得的最小生成树如下图(f)所示(树中结点用粗黑实线表示):假设初始时,树中只有一个顶点,不含有任何一条边,下图(a )~(f)为用Prim 算法求其最小生成树的过程。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
福师《数据结构概论》在线作业一-0004
试卷总分:100 得分:100
一、单选题 (共 25 道试题,共 50 分)
1.下面关于算法说法错误的是( )
A.算法最终必须由计算机程序实现
B.为解决某问题的算法同为该问题编写的程序含义是相同的
C.算法的可行性是指指令不能有二义性
D.以上几个都是错误的
答案:D
2.设森林F对应的二叉树为B,它有m个结点,B的根为p,p的右子
树结点个数为n,森林F中第一棵树的结点个数是( )
A.m-n
B.m-n-1
C.n+1
D.条件不足,无法确定
答案:A
3.以下数据结构中( )是非线性数据结构
A.树
B.字符串
C.队