大工20春《数据结构》在线作业1答案44884
- 格式:rtf
- 大小:7.09 KB
- 文档页数:3
大连理工大学网络教育学院2020年春《数据结构》期末考试复习题☆注意事项:本复习题满分共:200分。
一、单项选择题1、在队列中存取数据的原则是()。
A.先进先出B.后进先出C.先进后出D.随意进出2、在下列链表中,不能从当前结点出发访问到其余各结点的是()。
A.单链表B.单循环链表C.双向链表D.双向循环链表3、在一棵二叉树上第5层的结点数最多为()设树根为第1层。
A.16 B.15 C.8 D.324、一棵有124叶子结点的完全二叉树,最多有()个结点。
A.247 B.249 C.248 D.1255、具有10个叶子结点的二叉树中有()个度为2的结点。
A.8 B.9 C.10 D.116、若一棵二叉树的先序遍历序列为abdgcefh,中序遍历的序列为dgbaechf,则后序遍历的结果为()。
A.gdbehfca B.bdgaechfC.gdbecfha D.gcefhabd7、对线性表进行顺序查找时,要求线性表的存储结构是()。
A.倒排表B.索引表C.顺序表或链表D.散列表8、对于顺序存储的有序表(5,12,20,26,37,42,46,50,64),若采用折半查找,则查找元素26的查找长度为()。
A.2 B.3 C.4 D.59、在所有排序方法中,关键字比较的次数与记录的初始排序次序无关的是()。
A.希尔排序B.起泡排序C.插入排序D.选择排序10、堆的形状是一棵()。
A.二叉排序树B.满二叉树C.完全二叉树D.平衡二叉树11、线性表采用顺序存储结构时,其地址()。
A.必须是连续的B.部分地址必须是连续的C.一定是不连续的D.连续与否均可以12、在栈中存取数据的原则是()。
A.先进先出B.后进先出C.后进后出D.随意进出13、插入和删除只能在一端进行的线性表,称为()。
A.队列B.循环队列C.栈D.数组14、一个基本线性表的第一个元素的存储地址是100,每个元素的长度是2,则第5个元素的地址是()。
【奥鹏】-[东北师范大学]数据结构20春在线作业1试卷总分:100 得分:100第1题,数据结构中的任一数据元素至多只有一个前驱和一个后继,该数据结构是 ( )A、线性表B、广义表C、树形结构D、图结构正确答案:A第2题,插入、删除只能在同一端进行的线性表,称为 ( )。
A、队列B、循环队列C、栈D、循环栈正确答案:C第3题,任何一棵二叉树的叶结点在前序、中序和后序遍历序列中的相对次序 ( )。
A、不发生改变B、发生改变C、稍有改变D、不能确定正确答案:A第4题,在k叉树中,度为0的结点称为 ( )。
A、根B、叶C、祖先D、子孙正确答案:B第5题,在下列排序算法中,哪一个算法的时间复杂度与记录初始排列无关 ()。
A、直接插入排序B、冒泡排序C、快速排序D、直接选择排序正确答案:D第6题,下面哪些方法可以判断出一个有向图是否有环(回路)? ()A、广(宽)度优先遍历B、拓扑排序C、求最短路径D、求关键路径正确答案:B第7题,串是一种特殊的线性表,其特殊性体现在 ( )。
A、可以顺序存储B、数据元素是一个字符C、可以链接存储D、数据元素可以是多个字符正确答案:B第8题,head指向的带表头结点的单链表为空的判定条件是 ( )。
A、head = = NULLB、head-next = = headC、head ! = NULLD、head-next = = NULL正确答案:D第9题,二叉树在线索化后,仍不能有效求解的问题是 ( )。
A、前序线索二叉树中求前序后继B、中序线索二叉树中求中序前驱C、中序线索二叉树中求中序后继D、后序线索二叉树中求后序后继正确答案:D第10题,算法分析的两个主要方面是 ( )。
A、正确性与健壮性B、可读性与可用性C、时间复杂度与空间复杂度D、数据复杂性与程序复杂性正确答案:C第11题,下述二叉树中,哪一种满足性质:从任一结点出发到根的路径上所经过的结点序列按其关键字有序。
国家开放大学《数据结构(本)》形考作业1-4参考答案形考作业1一、单项选择题(每小题3分,共60分)1.把数据存储到计算机中,并具体体现数据元素间的逻辑结构称为()。
A. 算法的具体实现B. 物理结构C. 逻辑结构D. 给相关变量分配存储单元2.下列说法中,不正确的是()。
A. 数据项是数据中不可分割的最小可标识单位B. 数据元素是数据的基本单位C. 数据项可由若干个数据元素构成D. 数据可有若干个数据元素构成3.一个存储结点存储一个()。
A. 数据结构B. 数据元素C. 数据类型D. 数据项4.数据结构中,与所使用的计算机无关的是数据的()。
A. 物理和存储结构B. 物理结构C. 逻辑结构D. 存储结构5.在线性表的顺序结构中,以下说法正确的是()。
A. 逻辑上相邻的元素在物理位置上不一定相邻B. 逻辑上相邻的元素在物理位置上也相邻C. 进行数据元素的插入、删除效率较高D. 数据元素是不能随机访问的6.对链表, 以下叙述中正确的是()。
A. 结点占用的存储空间是连续的B. 插入删除元素的操作一定要要移动结点C. 可以通过下标对链表进行直接访问D. 不能随机访问任一结点7.下列的叙述中,不属于算法特性的是()。
A. 可读性B. 输入性C. 可行性D. 有穷性8.算法的时间复杂度与()有关。
A. 算法本身B. 计算机的操作系统C. 数据结构D. 所使用的计算机9.设有一个长度为n的顺序表,要在第i个元素之前(也就是插入元素作为新表的第i个元素),插入一个元素,则移动元素个数为()。
A. n-i+1B. n-i-1C. n-iD. i10.设有一个长度为n的顺序表,要删除第i个元素移动元素的个数为()。
A. iB. n-iC. n-i-1D. n-i+111.在一个单链表中,p、q分别指向表中两个相邻的结点,且q所指结点是p所指结点的直接后继,现要删除q所指结点,可用语句()。
A. p->next=q->nextB. p=q->nextC. p->next=qD. q->next=NULL12.在一个单链表中p所指结点之后插入一个s所指的结点时,可执行()。
数据结构(本)形考作业指导作业1参考答案一、单项选择题1.C 2.D 3.B 4.C 5.D 6.C 7.B 8.C 9.A 10.B11.C 12.D 13.C 14.A 15.B 16.C 17.C 18.B 19.B 20.D二、填空题1.n-i+1 2.n-i3.集合线性结构树形结构图状结构4.物理结构存储结构5.线性结构非线性结构6.有穷性确定性可形性有零个或多个输入有一个或多个输出7.图状结构8.树形结构9.线性结构10.n-1 O(n) 11.s->next=p->next; 12.head13.q->next=p->next; 14.p->next=head; 15.单链表16.顺序存储链式存储17.存储结构18.两个直接后继直接前驱尾结点头结点19.头结点的指针指向第一个结点的指针20.链式链表三、问答题1.简述数据的逻辑结构和存储结构的区别与联系,它们如何影响算法的设计与实现?答:若用结点表示某个数据元素,则结点与结点之间的逻辑关系就称为数据的逻辑结构。
数据在计算机中的存储表示称为数据的存储结构。
可见,数据的逻辑结构是反映数据之间的固有关系,而数据的存储结构是数据在计算机中的存储表示。
尽管因采用的存储结构不同,逻辑上相邻的结点,其物理地址未必相同,但可通过结点的内部信息,找到其相邻的结点,从而保留了逻辑结构的特点。
采用的存储结构不同,对数据的操作在灵活性,算法复杂度等方面差别较大。
2.解释顺序存储结构和链式存储结构的特点,并比较顺序存储结构和链式存储结构的优缺点。
答:顺序结构存储时,相邻数据元素的存放地址也相邻,即逻辑结构和存储结构是统一的,,要求内存中存储单元的地址必须是连续的。
优点:一般情况下,存储密度大,存储空间利用率高。
缺点:(1)在做插入和删除操作时,需移动大量元素;(2)由于难以估计,必须预先分配较大的空间,往往使存储空间不能得到充分利用;(3)表的容量难以扩充。
数据结构(含答案)数据结构数据结构是计算机科学的基础知识之一,它在计算机领域中有着重要的地位。
本文将介绍数据结构的概念、常见的数据结构类型以及其应用。
同时,还会对一些常见的数据结构问题进行解答。
一、概念简介在计算机科学中,数据结构是指存储和组织数据的方式。
它关注数据元素之间的关系,以及如何对数据进行插入、删除和查询等操作。
数据结构可以分为线性结构和非线性结构两大类。
1.1 线性结构线性结构是最简单的一种数据结构,它的特点是数据元素之间存在一对一的关系。
常见的线性结构包括数组、链表、栈和队列。
- 数组是一种连续存储数据元素的结构,可以通过下标快速访问元素。
但是数组的大小固定,插入和删除操作比较耗时。
- 链表是一种通过指针连接数据元素的结构,可以动态地进行插入和删除操作。
但是链表的随机访问效率较低。
- 栈是一种先进后出(LIFO)的数据结构,只能在栈顶进行插入和删除操作。
常见的应用场景包括函数调用、表达式求值等。
- 队列是一种先进先出(FIFO)的数据结构,插入操作在队尾进行,删除操作在队头进行。
常见的应用场景包括任务调度、消息传递等。
1.2 非线性结构非线性结构中,数据元素之间的关系不是一对一的,包括树和图等结构。
- 树是一种层次结构,由节点和边组成。
树的常见应用包括文件系统、数据库索引等。
- 图是由节点和边组成的网络结构,节点之间的关系可以是任意的。
图的应用非常广泛,包括社交网络、路由算法等。
二、数据结构问题解答2.1 如何判断一个链表中是否存在环?使用快慢指针可以判断一个链表中是否存在环。
假设有两个指针,一个每次移动一步,另一个每次移动两步。
如果链表中存在环,那么快指针迟早会追上慢指针。
如果快指针到达链表尾部时都没有追上慢指针,那么链表中不存在环。
2.2 如何判断一个二叉树是否是平衡二叉树?平衡二叉树是一种左子树和右子树高度差不超过1的二叉树。
判断一个二叉树是否是平衡二叉树可以使用递归的方法。
数据结构习题集答案第1章绪论1.1 简述下列术语:数据,数据元素、数据对象、数据结构、存储结构、数据类型和抽象数据类型。
解:数据是对客观事物的符号表示。
在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。
数据元素是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。
数据对象是性质相同的数据元素的集合,是数据的一个子集。
数据结构是相互之间存在一种或多种特定关系的数据元素的集合。
存储结构是数据结构在计算机中的表示。
数据类型是一个值的集合和定义在这个值集上的一组操作的总称。
抽象数据类型是指一个数学模型以及定义在该模型上的一组操作。
是对一般数据类型的扩展。
1.2 试描述数据结构和抽象数据类型的概念与程序设计语言中数据类型概念的区别。
解:抽象数据类型包含一般数据类型的概念,但含义比一般数据类型更广、更抽象。
一般数据类型由具体语言系统内部定义,直接提供给编程者定义用户数据,因此称它们为预定义数据类型。
抽象数据类型通常由编程者定义,包括定义它所使用的数据和在这些数据上所进行的操作。
在定义抽象数据类型中的数据部分和操作部分时,要求只定义到数据的逻辑结构和操作说明,不考虑数据的存储结构和操作的具体实现,这样抽象层次更高,更能为其他用户提供良好的使用接口。
1.3 设有数据结构(D,R),其中{}4,3,2,1d d d d D =,{}r R =,()()(){}4,3,3,2,2,1d d d d d d r =试按图论中图的画法惯例画出其逻辑结构图。
解:1.4 试仿照三元组的抽象数据类型分别写出抽象数据类型复数和有理数的定义(有理数是其分子、分母均为自然数且分母不为零的分数)。
解:ADT Complex{数据对象:D={r,i|r,i 为实数}数据关系:R={<r,i>}基本操作:InitComplex(&C,re,im)操作结果:构造一个复数C ,其实部和虚部分别为re和imDestroyCmoplex(&C)操作结果:销毁复数CGet(C,k,&e)操作结果:用e返回复数C的第k元的值Put(&C,k,e)操作结果:改变复数C的第k元的值为eIsAscending(C)操作结果:如果复数C的两个元素按升序排列,则返回1,否则返回0IsDescending(C)操作结果:如果复数C的两个元素按降序排列,则返回1,否则返回0Max(C,&e)操作结果:用e返回复数C的两个元素中值较大的一个Min(C,&e)操作结果:用e返回复数C的两个元素中值较小的一个}ADT ComplexADT RationalNumber{数据对象:D={s,m|s,m为自然数,且m不为0}数据关系:R={<s,m>}基本操作:InitRationalNumber(&R,s,m)操作结果:构造一个有理数R,其分子和分母分别为s和m DestroyRationalNumber(&R)操作结果:销毁有理数RGet(R,k,&e)操作结果:用e返回有理数R的第k元的值Put(&R,k,e)操作结果:改变有理数R的第k元的值为eIsAscending(R)操作结果:若有理数R的两个元素按升序排列,则返回1,否则返回0IsDescending(R)操作结果:若有理数R的两个元素按降序排列,则返回1,否则返回0Max(R,&e)操作结果:用e返回有理数R的两个元素中值较大的一个Min(R,&e)操作结果:用e返回有理数R的两个元素中值较小的一个}ADT RationalNumber1.5 试画出与下列程序段等价的框图。
单元练习1一.判断题(下列各题,正确的请在前面的括号内打√;错误的打╳)(√)(1)数据的逻辑结构与数据元素本身的内容和形式无关.(√)(2)一个数据结构是由一个逻辑结构和这个逻辑结构上的一个基本运算集构成的整体。
(ㄨ)(3)数据元素是数据的最小单位.(ㄨ)(4)数据的逻辑结构和数据的存储结构是相同的.(ㄨ)(5)程序和算法原则上没有区别,所以在讨论数据结构时可以通用。
(√)(6)从逻辑关系上讲,数据结构主要分为线性结构和非线性结构两类.(√)(7)数据的存储结构是数据的逻辑结构的存储映像。
(√)(8)数据的物理结构是指数据在计算机内实际的存储形式.(ㄨ)(9)数据的逻辑结构是依赖于计算机的。
(√)(10)算法是对解题方法和步骤的描述。
二.填空题(1)数据有逻辑结构和存储结构两种结构.(2)数据逻辑结构除了集合以外,还包括:线性结构、树形结构和图形结构 .(3)数据结构按逻辑结构可分为两大类,它们是线性结构和非线性结构。
(4)树形结构和图形结构合称为非线性结构。
(5)在树形结构中,除了树根结点以外,其余每个结点只有 1 个前趋结点。
(6)在图形结构中,每个结点的前趋结点数和后续结点数可以任意多个 .(7)数据的存储结构又叫物理结构。
(8)数据的存储结构形式包括:顺序存储、链式存储、索引存储和散列存储。
(9)线性结构中的元素之间存在一对一的关系。
(10)树形结构结构中的元素之间存在一对多的关系,(11)图形结构的元素之间存在多对多的关系。
(12)数据结构主要研究数据的逻辑结构、存储结构和算法(或运算)三个方面的内容。
(13)数据结构被定义为(D,R),其中D是数据的有限集合,R是D上的关系的有限集合。
(14)算法是一个有穷指令的集合。
(15)算法效率的度量可以分为事先估算法和事后统计法。
(16)一个算法的时间复杂性是算法输入规模的函数。
(17)算法的空间复杂度是指该算法所耗费的存储空间,它是该算法求解问题规模n 的函数.(18)若一个算法中的语句频度之和为T(n)=6n+3nlog2n,则算法的时间复杂度为 O (nlog2n) 。