数据结构练习题(含标准答案)(DOC).doc
《数据结构练习题(含标准答案)(DOC).doc》由会员分享,可在线阅读,更多相关《数据结构练习题(含标准答案)(DOC).doc(18页珍藏版)》请在咨信网上搜索。
1、数据结构练习题习题1 绪论1.1 单项选择题1. 数据结构是一门研究非数值计算的程序设计问题中,数据元素的 、数据信息在计算机中的 以及一组相关的运算等的课程。 A操作对象计算方法逻辑结构数据映象 A存储结构 关系 运算 算法2. 数据结构DS(Data Struct)可以被形式地定义为DS=(D,R),其中D是 的有限集合,R是D上的 有限集合。 A算法 数据元素 数据操作 数据对象 A操作 映象 存储 关系3. 在数据结构中,从逻辑上可以把数据结构分成 。A动态结构和静态结构 紧凑结构和非紧凑结构 线性结构和非线性结构 内部结构和外部结构4. 算法分析的目的是 ,算法分析的两个主要方面是
2、。 A. 找出数据结构的合理性 B. 研究算法中的输入和输出的关系C. 分析算法的效率以求改进 D. 分析算法的易懂性和文档性 A. 空间复杂性和时间复杂性 B. 正确性和简明性C. 可读性和文档性 D. 数据复杂性和程序复杂性5. 计算机算法指的是 ,它必具备输入、输出和 等五个特性。 A. 计算方法 B. 排序方法C. 解决问题的有限运算序列 D. 调度方法 A. 可行性、可移植性和可扩充性 B. 可行性、确定性和有穷性 C. 确定性、有穷性和稳定性 D. 易读性、稳定性和安全性1.2 填空题(将正确的答案填在相应的空中)1. 数据逻辑结构包括 、 和 三种类型,树形结构和图形结构合称为
3、。2. 在线性结构中,第一个结点 前驱结点,其余每个结点有且只有 个前驱结点;最后一个结点 后续结点,其余每个结点有且只有 个后续结点。3. 在树形结构中,树根结点没有 结点,其余每个结点有且只有 个直接前驱结点,叶子结点没有 结点,其余每个结点的直接后续结点可以 。4. 在图形结构中,每个结点的前驱结点数和后续结点数可以 。5. 线性结构中元素之间存在 关系,树形结构中元素之间存在 关系,图形结构中元素之间存在 关系。6. 算法的五个重要特性是_ _ , _ _ , _ _ , _ _ , _ _。7. 分析下面算法(程序段),给出最大语句频度 ,该算法的时间复杂度是_ _。for (i=0
4、;in;i+) for (j=0;jn; j+) Aij=0;8. 分析下面算法(程序段),给出最大语句频度 ,该算法的时间复杂度是_ _。for (i=0;in;i+) for (j=0; ji; j+)Aij=0;9. 分析下面算法(程序段),给出最大语句频度 ,该算法的时间复杂度是_ _。s=0;for (i=0;in;i+) for (j=0;jn;j+) for (k=0;kn;k+) s=s+Bijk;sum=s;10. 分析下面算法(程序段)给出最大语句频度 ,该算法的时间复杂度是_ _。i=s=0;while (sn) i+; s+=i; /s=s+i 11. 分析下面算法(程
5、序段)给出最大语句频度 ,该算法的时间复杂度是_ _。i=1;while (inext= =NULLC. head-next= =head D. head!=NULL8. 带头结点的单链表head为空的判定条件是_。A. head= =NULL B. head-next= =NULLC. head-next= =head D. head!=NULL9. 非空的循环单链表head的尾结点(由p所指向)满足_。A. p-next= =NULL B. p= =NULLC. p-next= =head D. p= =head 10. 在双向循环链表的p所指结点之后插入s所指结点的操作是_。A. p-r
6、ight=s; s-left=p; p-right-left=s; s-right=p-right;B. p-right=s; p-right-left=s; s-left=p; s-right=p-right;C. s-left=p; s-right=p-right; p-right=s; p-right-left=s;D. s-left=p; s-right=p-right; p-right-left=s; p-right=s; 11. 在一个单链表中,已知q所指结点是p所指结点的前驱结点,若在q和p之间插入s结点,则执行_。A. s-next=p-next; p-next=s; B. p
7、-next=s-next; s-next=p;B. q-next=s; s-next=p; C. p-next=s; s-next=q;12. 在一个单链表中,若p所指结点不是最后结点,在p之后插入s所指结点,则执行_。A. s-next=p; p-next=s; B. s-next=p-next; p-next=s;C. s-next=p-next; p=s; C. p-next=s; s-next=p;13. 在一个单链表中,若删除p所指结点的后续结点,则执行_。A. p-next= p-next-next; B. p= p-next; p-next= p-next-next;C. p-n
8、ext= p-next; D. p= p-next-next;14. 从一个具有n个结点的单链表中查找其值等于x结点时,在查找成功的情况下,需平均比较_个结点。A. n B. n/2 C. (n-1)/2 D. (n+1)/2 15. 在一个具有n个结点的有序单链表中插入一个新结点并仍然有序的时间复杂度是_ _。A. O(1) B. O(n) C. O (n2) D. O (nlog2n) 16. 给定有n个元素的向量,建立一个有序单链表的时间复杂度是_ _。A. O(1)) B. O(n) C. O (n2) D. O (n*log2n)2.2 填空题(将正确的答案填在相应的空中)1. 单链
9、表可以做_ _的链接存储表示。2. 在双链表中,每个结点有两个指针域,一个指向_ _,另一个指向_ _。3. 在一个单链表中p所指结点之前插入一个s (值为e)所指结点时,可执行如下操作:q=head;while (q-next!=p) q=q-next;s= new Node; s-data=e;q-next= ; /填空s-next= ; /填空4. 在一个单链表中删除p所指结点的后继结点时,应执行以下操作:q= p-next;p-next= _ _; /填空delete ; /填空5. 在一个单链表中p所指结点之后插入一个s所指结点时,应执行s-next=_ _和p-next=_的操作。
10、 6. 对于一个具有n个结点的单链表,在已知p所指结点后插入一个新结点的时间复杂度是_ _;在给定值为x的结点后插入一个新结点的时间复杂度是_ _。2.3 算法设计题:1.设顺序表va中的数据元数递增有序。试写一算法,将x插入到顺序表的适当位置上,以保持该表的有序性。Status Insert_SqList(SqList &va,int x) if(va.length+1maxsize) return ERROR; va.length+; for(i=va.length-1;va.elemix&i=0;i-) va.elemi+1=va.elemi; va.elemi+1=x; return
11、OK; 2.试写一算法,实现顺序表的就地逆置,即利用原表的存储空间将线性表(a1, a2,. an)逆置为(an, an-1,., a1)。void reverse(int a, int size) int i,j,tmp; for(i=0, j=size-1; inext; while(q!=L & q-datanext;while(q!=L & q-datanext;free(r); if(p!=q)p-next=q;4. 试写一算法,实现单链表的就地逆置(要求在原链表上进行)。void converse(NODEPTR L) NODEPTR p,q; p=L-next; q=p-next
12、; L-next=NULL; while(p) /* 对于当前结点p,用头插法将结点p插入到头结点之后 */ p-next=L-next; L-next=p; p=q; q=q-next; 习题答案 2.1 1. B 2. A, C 3. B 4. D 5. C 6. A 7. A 8. B 9. C 10. D 11.B 12.B 13.A 14.D 15.B 16.C 2.2 1. 线性结表 2. 前驱结点、后继结点 3. s, p 4. q-next, q 5. p-next, s 6. O (1) , O (n)习题3 栈和队列3.1 单项选择题1. 一个栈的入栈序列a,b,c,d,e
13、,则栈的不可能的输出序列是_。 A. edcba B. decba C. dceab D. abcde 2. 若已知一个栈的入栈序列是1,2,3,n,其输出序列为p1,p2,p3,pn,若p1=n,则pi为_。 A. i B. n=i C. n-i+1 D. 不确定3. 栈结构通常采用的两种存储结构是_。A. 顺序存储结构和链式存储结构B. 散列方式和索引方式C. 链表存储结构和数组D. 线性存储结构和非线性存储结构4. 判定一个顺序栈ST(最多元素为m0)为空的条件是_。A. top !=0 B. top= =0 C. top !=m0 D. top= =m0-15. 判定一个顺序栈ST(最
14、多元素为m0)为栈满的条件是_。A. top!=0 B. top= =0 C. top!=m0 D. top= =m0-16. 栈的特点是_,队列的特点是_。 A. 先进先出 B. 先进后出7. 向一个栈顶指针为HS的链栈中插入一个s所指结点时,则执行_ _。(不带空的头结点)A. HSnext=s;B. snext= HSnext; HSnext=s;C. snext= HS; HS=s;D. snext= HS; HS= HSnext;8. 从一个栈顶指针为HS的链栈中删除一个结点时,用x保存被删结点的值,则执行_ _。(不带空的头结点) A. x=HS; HS= HSnext; B. x
15、=HSdata;C. HS= HSnext; x=HSdata; D. x=HSdata; HS= HSnext;9. 一个队列的数据入列序列是1,2,3,4,则队列的出队时输出序列是_ 。 A. 4,3,2,1 B. 1,2,3,4 C. 1,4,3,2 D. 3,2,4,110. 判定一个循环队列QU(最多元素为m0)为空的条件是_。A. rear - front= =m0 B. rear-front-1= =m0C. front= = rear D. front= = rear+111. 判定一个循环队列QU(最多元素为m0, m0= =Maxsize-1)为满队列的条件是_。A. (r
16、ear- front)+ Maxsize)% Maxsize = =m0B. rear-front-1= =m0 C. front= =rear D. front= = rear+112. 循环队列用数组A0,m-1存放其元素值,已知其头尾指针分别是front和rear,则当前队列中的元素个数是_。A. (rear-front+m)%m B. rear-front+1C.rear-front-1 D. rear-front13. 栈和队列的共同点是_。A. 都是先进后出 B. 都是先进先出C. 只允许在端点处插入和删除元素 D. 没有共同点3.2 填空题(将正确的答案填在相应的空中)1. 向量
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 练习题 标准答案 DOC
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。