ImageVerifierCode 换一换
格式:DOCX , 页数:31 ,大小:200.59KB ,
资源ID:21510426      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/21510426.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据结构题集答案Word文档下载推荐.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据结构题集答案Word文档下载推荐.docx

1、3.数据的物理结构主要包括 顺序存储结构 的表示和 链式存储结构的表示。4.数据逻辑结构包括 集合、线性结构 、树 和图 四种,树结构和图结构统称为 非线性结构 。5.顺序存储方法把逻辑上 逻辑上相邻的元素 存储在物理位置 相邻的存储单元里;链式存储方法中结点间的逻辑关系是由 指针域 表示的。6 、数据结构研究的是 逻辑结构和物理结构以及它们之间的相互关系法,并对于这种结构定义相应的。运算,设计出相应的算7.算法的执行时间是 问题规模n的函数。8.以下是4个算法所有语句频度之和的表达式,其中的复杂度相同的是 _A和BA.T A(n)=2n 3+3n2+1000 B.TB(n)二n 3-n2lo

2、g 2n-10002 2 2C.T c(n)=n log 2n+n D.T D(n)=n +1000四、解答题1.简述数据的逻辑结构和存储结构的关系。答:在数据结构中,逻辑结构和存储结构是密切相关的,存储结构不仅将数据元素存储到计算机中,而且还要表示各数据元素之间的逻辑关系。逻辑结 构与计算机无关,存储结构是数据元素之间的关系在计算机中的表示。通常情 况下,一种逻辑结构可以有多种存储结构,例如,线性结构可以采取顺序存储 结构或链式存粗结构表示。2.数据结构和数据类型有什么区别?数据结构是相互间存在一种或多种特定关系的数据元素的集合,一般 包括三个方面的内容:数据的逻辑结构、存储结构和多数据的运

3、算。数据类型 是一个值得集合和定义在这个值集上的一组操作的总称。数据结构重点考虑元 素之间的关系,数据类型重点考虑数据的个体特征。3.当为解决某一问题已经选定其数据的逻辑结构后,选择数据的存储结构 时,应从哪些方面考虑?通常从两个方面考虑:第一是算法实现的存储空间复杂度;第二是算法 执行的时间复杂度。若存储空间难以确定,宜选择链式存储结构,否则选择顺 序存储结构。若插入、删除操作频繁,则选链式存储结构,否则选择顺序存储 结构第二章 线性表、单选题1.链表不具备的特点是【 A 】。A.可随机访问任一结点 B. 插入删除不需要移动元素C. 不必事先估算存储空间 D. 所需空间与其长度成正比2.设线

4、性表有 n 个元素,以下操作中, 【 A 】在顺序表上实现比在链表上实现 效率更高。A.输出第i (1 i next=NULLC.h-next=h D.h!=NULL9.带头结点的单链表(头指针为 h)为空的条件是【B】10.带头结点的循环双向链表(头指针为 L)为空的条件是【D】A.L=NULL B.L-next-prior=NULLC.L-prior=NULL D.L-next=L11.非空的循环单链表(头指针为 head)的尾结点(由p指向)满足【C】A.p-next=NULL B.p=NULLC.p-next=head D.p=head12.设一个链表最常用的操作是在末尾插入结点和删除

5、尾结点,则选用【 A 】最节省时间。A. 带头结点的双循环链表 B. 单循环链表C. 带尾指针的单循环链表 D. 单链表13.若某线性表最常用的操作存取任意指定序号的元素和在表尾进行插入和删 除,则选用【 A 】的存储方式最节省时间。A. 顺序表 B. 双链表C. 带头结点的双循环链表 D. 单循环链表14.在n个结点的线性表的顺序实现中,算法的时间复杂度为 0(1)的操作是【A】A.访问第 i 个结点和求第 i 个结点的直接前驱B.在第 i 个结点后插入一个新结点C.删除第 i 个结点 D. 以上都不对15.若长度为 n 的线性表采用顺序存储结构,在第 i 个位置插入一个新元素的算 法的时间

6、复杂度为【 C 】。A.0(0) B.0(1) C.0(n) D.0(n 2)16.对于顺序存储的线性表, 访问结点和增加、 删除结点的时间复杂度为 【 C 】A.0(n)0(n) B.0(n)0(1) C.0(1)0(n) D.0(1)0(1)17.线性表以链式方式存储,访问第 i 个结点的时间复杂度为【 C 】。A.0(i) B.0(1) C.0(n) D.0(i-1)18.循环链表H尾结点p的特点是【A】。next=H B.p-next=H-nextC.p=H D.p=H-X】1.取线性表的第i个元素的时间同i的大小有关。【X】2.线性表中每个元素都有一个直接前驱和一个直接后继。X 】

7、3. 顺序存储方式只能用于存储线性结构x】4.线性表采用链式存储时,结点和结点内部的存储空间可以不连续。【X】5.在一个设有头指针和尾指针的单链表中,执行删除单链表最后一个结点的操作与链表的长度无关。1.向一个长度为n的顺序表中的第i个元素之前插入一个元素时,需要向后移动n-i+1 个元素。2.在一个长度为n的顺序表中删除第i个元素时,需要向前移动 n-i 个3.在单链表中设置头结点的作用是 简化插入、删除算法 。4.在单链中要删除某一指定结点,必须找到该结点的 直接前驱 结点。5.访问单链表中的结点,必须沿着 指针域 依次进行。6.在双链表中每个结点有两个指针域,一个指向 直接前驱结点 ,一

8、个指向直接后继结点 。7.在 双向循环 链表中,删除最后一个结点的算法时间复杂度为 0(1) o8.访问一个线性表中具有给定值的时间复杂度的数量级是0(n) o9.由n个数据元素生成一个顺序表,若每次都调用插入算法把一个元素插入到表头,则整个算法的时间复杂度为 0(n) ,若每次都调用插入算法把一个元素插入到表尾,则整个算法的时间复杂度为 0(n 2) o10.在 链表中,可以用表尾指针代替表头指针。11.根据n个数据元素建立对应的顺序表和单链表存储结构,其算法的时间复杂度最好的情况是 0(n) ,最坏的情况是 0(n 2) o12.求线性表的顺序存储和链式存储的长度的算法时间复杂度分别是 0

9、(1)和 0(n) 。13.在一个带头结点的单链表中,在表头插入或删除与在其他位置插入或删除,其操作过程是否相同? 相同 014.在一个不带头结点的单链表中,在表头插入或删除与在其他位置插入或 删除,其操作过程是否相同? 不相同 0四、简答题1.阐述顺序表和链表存储方式的特点。顺序表存储方式为数据分配连续的存储单元,数据元素按逻辑顺序依 次存储到相应存储单元中,使得逻辑相邻的数据元素物理也相邻,因此可以实 现随机访问线性表的数据元素,即数据访问的时间复杂度为 0(1) 0链表存储方式分配的存储单元可以不连续,通过每个结点的指针域来表示 数据元素之间的逻辑关系,只能顺序访问线性表中的数据元素。2

10、.若频繁地对一个线性表进行插入和删除操作,则该线性表宜采用何种存 储结构,为什么?若频繁地对一个线性表进行插入和删除操作,则该线性表宜采用链式存 储结构。因为链式存储结构在插入和删除数据元素时不需要移动数据元素,只 需要修改结点的指针域就可以改变数据元素之间的逻辑关系。3.在单链表、双向循环链表和单循环链表中,若仅知道指针 p指向某结点,不知道头指针,能否将结点 p从相应的链表中删除?若可以,时间复杂度各为 多少。要实现删除p结点的操作,必须找到其前驱结点,修改其指针域的值使其指向p的后继结点,以实现删除结点 P。单链表不行,因为不知道头指针就无法找到结点 p 的前驱结点。双向循环链表和单循环

11、链表可以可以实现删除 p 结点。单循环链表删除 p 结点的时间复杂度为 O(n) ,双循环链表删除 P 结点的 时间复杂度为 O(1) 。4.对链表设置头结点的作用是什么?对带头结点的链表,在表的任何结点之前插入结点或删除任何位置的 结点,所要做的都是修改前一个结点的指针域,因为在带头结点的链表中任何 元素结点都有前驱结点。如果没有头结点,在首元结点前插入结点或删除首元 结点都要修改头指针,其算法要比带头结点的算法复杂些。其次,带头结点的链表结构,初始化后的头指针就固定了,除撤销算法外,所有算法都不会修改头指针,可以减少出错的可能性。五、算法设计题1.已知一个线性表用含头结点的单链表做存储结构

12、,写一个算法求单链表 的长度。解:算法基本思想:从头结点的下一个结点开发,遍历单链表的每个结点, 每遇到一个结点,结点计算器加 1。int listlenght(linklist L) int length=0;P=L-next;while(p) length+;p=p-return(length);个算法插入一0(1)。已知一个顺序表L,其中的元素按值递增有序排列,设 个值为 x 的元素后保持该顺序表仍然递增有序,且空间复杂度为void insertsq(sqlist L,elemtype x) n=L.length-1;while(n=0<(x,L.elemn) L.elemn+1=L

13、.elemn;n-;L.elemn+1=x;L.lenght+;return;3.写一个算法,从顺序表中删除值为 x 的所有元素。void delallsq(Sqlist &L) int i=0,j=0;while(j next=Q.rear10.如果栈的最大长度难以估计,最好使用链栈1.为什么说栈是一种后进先出表? 答:因为栈是限定在表的一端进行插入和删除操作,所以后入栈的数据元 素总是先出栈,所以说栈是一种后进先出表。2.对于一个栈,其输入序列是 A,B,C, 试给出全部可能的输出序列。可能的出栈序列是: ABC、ACB、BAC、 BCA、CBA。3.何谓队列上溢?何为假溢出现象?有哪些解

14、决假溢出问题的方法, 并分别阐述其工作原理。队列上溢指在队列的顺序存储分配中,所有单元中已有元素,再进行 插入操作时称为队列上溢。假溢出指在队列的顺序存储分配中,分配给队列的存储空间有存储单元未 被占用,但按照操作规则而使进队的数据元素无法进队的现象。解决假溢出问题的方法是在队列的顺序存储分配中,分配给队列的存储空 间可以循环使用,其进本原理是用表示队头和队尾指针与分配给队列的存储空 间长度进行取模运算。即:入队操作: Q.rear=(Q.rear+1)%MSize出队操作: Q.front=(Q.front+1)%MSize4.队列可以用单循环链表来实现,故可以只设一个头指针或只设一个尾指

15、针,请分析用哪种方案最合适。使用循环链表来表示队列,设置尾指针比较合适,因为入队操作可以直 接在尾结点后进行插入操作,出队操作时可以根据尾指针很容易找到链表的头 结点,入队出队操作的算法时间复杂度均为 O(1) 。若只设头指针,则出队操作 的算法时间复杂度为 O(1) ,入队操作的算法时间复杂度为 O(n) 。5.简述线性表、栈和队列的异同?栈和队列都是操作位置受限的线性表,即对插入和删除操作的位置加以 限制。栈是仅允许在表的一端进行插入和删除操作的线性表,因而是后进先出 表。队列是允许在表的一端进行插入,在表的另一端进行删除的线性表,因而 是先进先出表。线性表可以在任何位置进行插入和删除操作

16、。1.设计一个算法,利用栈和队列的基本运算将指定栈中的元素顺序逆转。先将栈中元素出栈运算移至队列中,再将队列中元素出 队列移至栈中。void reverse(Stack &st) Queue sq ;ElemType x;InitQueue(sq)while(!StackEmpty(st) pop(st,x)EnQueue(sq,x);QueueEmpty(sq) DeQueue(sq,x);Push(st,x);DestroyQueue(sq);2.设计一个算法,利用栈的基本运算返回指定栈中栈底元素。先将栈中元素依次移至另一个临时栈中,最后一个元素即为栈底元素,设为 x. 。再将临时栈中元素

17、移至原栈中,即恢复栈内容。ElemType bottom(Stack & ElemType x,y;Stack tmpst;InitStack(tmpst)push(tmpst,x);QueueStack(temst) pop(tmpst,y); / 此时必须用另一个变量 y ,才能保留栈底元素在 x 中Push(st,y);DestroyStack(tmpst);return(x);3.设计一个算法,利用栈来实现带头结点的单链表 h 的逆序。将单链表结点依次放入链栈中,链栈本身就是一个单链 表,即实现了原单链表的逆序。假设链栈不带头结点,再加上原来的头结点, 就完成了原单链表的逆序。Void revert(SNode *h) SNode *st=NULL,*p=h-next,q;While(p) q=p-p-next=st;st=p;p=q;h-第四章串1.串是任意有限个【D】A.符号构成的集合B. 符号构成的序列2.串是一种特殊的线性表,其特殊性体现在【 B】。A.可以顺序存储 B. 数据元素是一个字符C.数据元素可以使多个字符 D.可以链接存储3.两个串相等必有串长度相等且【 B】A.串的各位置字符任意B. 串中各位置字符均对应相等C.两个串含有相同的字符D.两个串所含字符任意4.设有两个

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1