2022年太原理工大学数据结构试题库及答案.docx





《2022年太原理工大学数据结构试题库及答案.docx》由会员分享,可在线阅读,更多相关《2022年太原理工大学数据结构试题库及答案.docx(63页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选学习资料 - - - - - - - - - 学而不思就惘,思而不学就殆数据结构试题库及答案第一章 概论一、选择题1、讨论数据结构就是讨论( D );B. 数据的储备结构A. 数据的规律结构C. 数据的规律结构和储备结构D. 数据的规律结构、储备结构及其基本操作2、算法分析的两个主要方面是( A ); A. 空间复杂度和时间复杂度 B. 正确性和简洁性 C. 可读性和文档性 D. 数据复杂性和程序复杂性3、具有线性结构的数据结构是( D );A. 图 B. 树 C. 广义表 D. 栈6、算法是( D );A. 运算机程序 B. 解决问题的运算方法 C. 排序算法D. 解决问题的有限运算序列
2、7、某算法的语句执行频度为(3n+nlog 2n+n 2+8 ), 其时间复杂度表示( C );A. On B. Onlog 2n C. On 2 D. Olog 2n 11 、抽象数据类型的三个组成部分分别为( A );A. 数据对象、数据关系和基本操作 B. 数 据 元 素 、 逻 辑 结 构 和 存 储 结 构C. 数据项、数据元素和数据类型 二、填空题 三、综合题D. 数据元素、数据结构和数据类型1、将数量级O1,ON,ON2,ON3,ONLOG2N,OLOG2N,O2N 按增长率由小到大排序;答案:O1 Olog 2N ON ONlog 2N ON2 ON3 O2N 一、填空题1.
3、数据结构被形式地定义为 有限集合;(D, R ),其中 D 是数据元素 的有限集合, R 是 D 上的 关系2. 数据结构包括数据的 规律结构 、数据的 储备结构 和数据的 运算 这三个方面的内容;3. 数据结构按规律结构可分为两大类,它们分别是线性结构 和非线性结构 ;名师归纳总结 8数据的储备结构可用四种基本的储备方法表示,它们分别是次序、链式、索引、第 1 页,共 37 页- - - - - - -精选学习资料 - - - - - - - - - 学而不思就惘,思而不学就殆散列 ;9. 数据的运算最常用的有5 种,它们分别是 插入、删除、修改、查找、排序;二、单项选择题( C )2. 数
4、据结构中,与所使用的运算机无关的是数据的 结构;A 储备 B 物理 C 规律 D 物理和储备三、简答题1.数据结构和数据类型两个概念之间有区分吗?答:简洁地说,数据结构定义了一组按某些关系结合在一起的数组元素;数据类型不仅定义了一组带结构的数据元素,而且仍在其上定义了一组操作;2. 简述线性结构与非线性结构的不同点;答:线性结构反映结点间的规律关系是一对一的,点间的规律关系是多对多的;非线性结构反映结四、分析下面各程序段的时间复杂度2. s=0; 1. for i=0; in; i+ for i=0; in; i+ for j=0; jm; j+ forj=0; jn; j+ Aij=0;s+
5、=Bij; sum=s; 3. x=0; 4. i=1; fori=1; in; i+ whilei=n for j=1; jnext=q;q-prior=p;p-next-prior=q;q-next=q; B. p-next=q;p-next-prior=q;q-prior=p;q-next=p-next; C. q-prior=p;q-next=p-next;p-next-prior=q;p-next=q; D. q-next=p-next;q-prior=p;p-next=q;p-next=q; 10 、线性表是 n 个()的有限序列;A. 表元素 B. 字符 C. 数据元素 D. 数
6、据项11 、从表中任一结点动身,都能扫描整个表的是();A. 单链表 B. 次序表 C. 循环链表 D. 静态链表12 、在具有 n个结点的单链表上查找值为 x 的元素时,其时间复杂度为();A. On B. O1 C. On 2 D. On-1 15 、在线性表的以下储备结构中,读取元素花费的时间最少的是(); A. 单链表 B. 双链表 C. 循环链表 D. 次序表16 、在一个单链表中,如删除 p所指向结点的后续结点,就执行();A. p-next=p-next-next; B. p=p-next;p-next=p-next-next; C. p =p-next; D. p=p-next
7、-next; 名师归纳总结 17 、将长度为 n 的单链表连接在长度为m的单链表之后的算法的时间复杂度为();第 3 页,共 37 页A. O1 B. On C. Om D. Om+n 18 、线性表的次序储备结构是一种( a )储备结构; N A. 随机存取B. 次序存取C. 索引存取D. 散列存取19 、次序表中,插入一个元素所需移动的元素平均数是(); A. n-1/2 B. n C. n+1 D. n+1/211 、不带头结点的单链表head 为空的判定条件是( b );A. head=NULL B. head-next=NULL - - - - - - -精选学习资料 - - - -
8、 - - - - - 学而不思就惘,思而不学就殆C. head-next=head D. head.=NULL 12 、在以下对次序表进行的操作中,算法时间复杂度为 O1 的是();A. 拜访第 i个元素的前驱(1next=s-next;s-next=p;B. s-next=p;q-next=s-next;C. p-next=s-next;s-next=q;D. s-next=q;p-next=s-next;15、在表长为 n 的次序表中, 当在任何位置删除一个元素的概率相同时,删除一个元素所需移动的平均个数为( a );A. n-1/2 B. n/2 C. n+1/2 D. n 二、填空题1
9、、设单链表的结点结构为(data,next);已知指针 p 指向单链表中的结点,q指向新结点,;欲将 q插入到 p结点之后,就需要执行的语句:;答案: q-next=p-next p-next=q3、写出带头结点的双向循环链表L 为空表的条件;答案: L-prior=L-next=L5、在一个单链表中删除 p所指结点的后继结点时,应执行以下操作:q = p-next; p-next=_ q-next _; 三、判定题3、用循环单链表表示的链队列中,可以不设队头指针,仅在队尾设置队尾指针;x4、次序储备方式只能用于储备线性结构;5、在线性表的次序储备结构中,规律上相邻的两个元素但是在物理位置上不
10、肯定是相邻的;6、链式储备的线性表可以随机存取;四、程序分析填空题1、函数 GetElem实现返回单链表的第i 个元素,请在空格处将算法补充完整;int GetElemLinkList L,int i,Elemtype *e LinkList p;int j;p=L-next;j=1; whilep&jnext ;+j; if.p|ji return ERROR; *e= p-data ; return OK; 名师归纳总结 - - - - - - -第 4 页,共 37 页精选学习资料 - - - - - - - - - 学而不思就惘,思而不学就殆2、函数实现单链表的插入算法,请在空格处将算
11、法补充完整;int ListInsertLinkList L,int i,ElemType e LNode *p,*s;int j; p=L;j=0; whilep.=NULL&jnext;j+; ifp=NULL|ji-1 return ERROR; s=LNode *mallocsizeofLNode; s-data=e; s-next=p-next ; p-next=s ; return OK; /*ListInsert*/ 3、函数 ListDelete_sq 实现次序表删除算法,请在空格处将算法补充完整;int ListDelete_sqSqlist *L,int i int k;
12、ifiL-length return ERROR; fork=i-1;klength-1;k+ L-slistk= L-slistk+1 ; ; -L-Length return OK; 4、函数实现单链表的删除算法,请在空格处将算法补充完整;int ListDeleteLinkList L,int i,ElemType *s LNode *p,*q; int j; p=L;j=0; while p-next.=NULL &jnext;j+; ifp-next=NULL|ji-1 return ERROR; q=p-next; p-next=q-next ; *s=q-data; freeq;
13、 return OK; /*listDelete*/ 5、写出算法的功能;int Lhead node * head; int n=0; node *p; p=head; whilep.=NULL 名师归纳总结 - - - - - - -第 5 页,共 37 页精选学习资料 - - - - - - - - - 学而不思就惘,思而不学就殆 p=p-next; n+; returnn; 答案:求单链表 head的长度五、综合题1、编写算法,实现带头结点单链表的逆置算法;答案: void inventLnode *head Lnode *p,*q; if.head-next return ERROR
14、; p=head-next; q=p-next; p-next =NULL; whileq p=q; q=q-next; p-next=head-next; head-next=p; 2、有两个循环链表,链头指针分别为L1 和 L2 ,要求写出算法将L2 链表链到L1 链表之后,且连接后仍保持循环链表形式;答案: void mergeLnode *L1, Lnode *L2 Lnode *p,*q ; whilep-next.=L1 p=p-next; whileq-next.=L2 q=q-next; q-next=L1; p-next =L2; 3、设一个带头结点的单向链表的头指针为hea
15、d,设运算法,将链表的记录,依据data 域的值递增排序;答案: void assendingLnode *head Lnode *p,*q , *r, *s; p=head-next; q=p-next; p-next=NULL; whileq r=q; q=q-next; ifr-datadata r-next=p; head-next=r; p=r; else while.p & r-datap-data s=p; p=p-next; r-next=p; s-next=r; p=head-next; 4、编写算法 ,将一个头指针为 算法的时间复杂度;答案:head 不带头结点的单链表改造
16、为一个单向循环链表,并分析void linklist_cLnode *head 名师归纳总结 - - - - - - -第 6 页,共 37 页精选学习资料 - - - - - - - - - 学而不思就惘,思而不学就殆Lnode *p; p=head; if.p return ERROR; whilep-next.=NULL p=p-next; p-next=head; 设单链表的长度(数据结点数)为N,就该算法的时间主要花费在查找链表最终一个结点上(算法中的 while 循环),所以该算法的时间复杂度为 O(N);5 、已知 head 为带头结点的单循环链表的头指针,链表中的数据元素依次为
17、(a1 ,a2,a3,a4, ,an ),A 为指向空的次序表的指针;阅读以下程序段,并回答疑题:(1 )写出执行以下程序段后的次序表 A中的数据元素;(2 )简要表达该程序段的功能;ifhead-next.=head p=head-next; A-length=0; whilep-next.=head p=p-next; A-dataA-length +=p-data; ifp-next.=headp=p-next; 答案:1 a2, a4, , 2 将循环单链表中偶数结点位置的元素值写入次序表 A 6、设次序表 va 中的数据元数递增有序;试写一算法,将 x 插入到次序表的适当位置上,以
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 太原 理工大学 数据结构 试题库 答案

限制150内