数据结构作业及答案汇总(共14页).doc
《数据结构作业及答案汇总(共14页).doc》由会员分享,可在线阅读,更多相关《数据结构作业及答案汇总(共14页).doc(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上第一章 绪论一、选择题1.数据结构是一门研究非数值计算的程序设计问题中计算机的1以及它们之间的2和运算等的学科。1A.数据元素 B.计算方法C.逻辑存储D.数据映像2A.结构 B.关系C.运算D.算法2.数据结构被形式地定义为 (K, R),其中K是1的有限集,R是K上的2有限集。1A.算法 B.数据元素C.数据操作D.逻辑结构2A.操作 B.映像C.存储D.关系3.在数据结构中,从逻辑上可以把数据结构分成。A.动态结构和静态结构 B.紧凑结构和非紧凑结构C.线性结构和非线性结构 D.内部结构和外部结构4.线性结构的顺序存储结构是一种1的存储结构,线性表的链式存储结构
2、是一种2的存储结构。A.随机存取 B.顺序存取C.索引存取D.散列存取5.算法分析的目的是1,算法分析的两个主要方面其一是指2,其二是指正确性和简单性。1 A.找出数据结构的合理性 B.研究算法中的输入和输出的关系C.分析算法的效率以求改进 D.分析算法的易懂性和文档性2 A.空间复杂度和时间复杂度 B.研究算法中的输入和输出的关系C.可读性和文档性 D.数据复杂性和程序复杂性k6.计算机算法指的是1,它必须具备输入、输出和2等5个特性。1 A.计算方法 B.排序方法C.解决问题的有限运算序列D.调度方法2 A.可执行性、可移植性和可扩充性 B.可行性、确定性和有穷性 C.确定性、有穷性和稳定
3、性 D.易读性、稳定性和安全性7.线性表的逻辑顺序与存储顺序总是一致的,这种说法。A.正确B.不正确8线性表若采用链式存储结构时,要求内存中可用存储单元的地址。A.必须连续的 B.部分地址必须连续的C.一定是不续的D连续不连续都可以9.以下的叙述中,正确的是。A.线性表的存储结构优于链式存储结构 B.二维数组是其数据元素为线性表的线性表C.栈的操作方式是先进先出 D.队列的操作方式是先进后出10.每种数据结构都具备三个基本运算:插入、删除和查找,这种说法。A.正确B.不正确二、填空题1.数据逻辑结构包括三种类型 、 和,树形结构和图形结构合称为。2.在线性结构中,第一个结点前驱结点,其余每个结
4、点有且只有个前驱结点;最后一个结点后续结点,其余每个结点有且只有个后续结点。3.算法的五个重要特性是、。专心-专注-专业4.下面程序段的时间复杂度是。for( i = 0; i n; i+) for( j = 0; j m; j+) Aij = 0;5.下面程序段的时间复杂度是。i = s = 0;while ( s n) i +; /* i = i +1*/ s += i; /* s = s + i*/6.下面程序段的时间复杂度是。s = 0;for( i = 0; i n; i+) for( j = 0; j n; j+) s += Bij;sum = s;7.下面程序段的时间复杂度是。i
5、 = 1;while ( i = n )i = i * 3;第一章 绪论(参考答案)一、选择题:1.A. B。2.B. D。3.C。4.A.B。(顺序存储结构的地址在内存中是连续的所以可以通过计算地址的相对变化而实现随机存取,而链式存储结构的存储地址不一定连续,只能通过的指针按次序顺序存取)5.C.A。6.C.B。7.B。8.D。9.B。10.B。二、填空题:1.线性结构,树形结构,图形结构,非线性结构。2.没有,1,没有,1。3.有穷性,确定性,可行性,输入,输出。4.O(m*n)。5. O()。6.O(n2)。 7.O(log3n)。5. O()。解:设基本语句频度为N。N=1,i=1,s
6、=1; N=2,i=2,s=1+2;N=1,i=1,s=1;N=3,i=3,s=1+2+3;当频度为N时,i=N,s=1+2+3+N。则根据循环条件,s=1+2+3+Nn, 即:所以,时间复杂度为7.O(log3n)。解:设基本语句的频度为N。(注意此题没有限制语句频度)N=1,i=3;N=2,i=9;N=3,i=27;当频度为N时,i=3N 所以3Nn (据语句in) Ntop!=0 B. ST-top=NULL C. ST-top!= m D. ST-top= m6.判断一个栈ST (最多元素为m) 为满栈的条件是。 A.ST-top!=0 B. ST-top=0 C. ST-top!=
7、m-1 D. ST-top= m7.栈的特点是1,队列的特点是2。A.先进先出 B.先进后出8.一个队列的入队序列是1、2、3、4,则队列输出序列是。A.4、3、2、1B.1、2、3、4C.1、4、3、2 D.3、2、4、19.判断一个队列QU (最多元素为m) 为空的条件是。A. QU-rearQU-front = m B. QU-rearQU-front1 = m C. QU-front = QU-rear D. QU-frontQU-rear + 110.判断一个队列QU (最多元素为m) 为满队列的条件是。A. QU-rearQU-front = m B. QU-rearQU-fron
8、t1 = m C. QU-front = QU-rear D. QU-frontQU-rear + 111.判断一个循环队列QU (最多元素为m) 为空的条件是。A. QU-front = QU-rear B. QU-front != QU-rearC. QU-front = (QU-rear + 1) %m D. QU-front != (QU-rear + 1) %m12.判断一个循环队列QU (最多元素为m) 为满队列的条件是。A. QU-front = QU-rear B. QU-front != QU-rearC. QU-front = (QU-rear + 1) %m D. QU-
9、front != (QU-rear + 1) %m13循环队列用数组A0, m-1存放其元素值,已知其头尾指针分别是front和rear,则当前队列中的元素个数是。A.(rearfront + m) %m B. rearfront + 1 C. rearfront1 D. rearfront 14.栈和队列的共同点是。A.都是先进后出 B.都是先进先出C.只允许在端点处插入、删除元素 D.没有共同点填空题1.线性表、栈和队列都是结构,可以在线性表的 位置插入和删除元素;对于栈只能在 插入和删除元素;对于队列只能在 插入元素和删除元素。2.在一个长度为n的线性表的第i个元素(1in)之前插入一个
10、元素时,需向后移动个元素。3.在一个长度为n的向量中的删除第i个元素(1in)时,需要向前移动个元素。4.若栈顶指针指向栈顶的空位,向栈中压入元素的操作是。5.若栈顶指针指向栈顶元素,则对栈进行退栈时的操作是。6.在一个循环队列中,队首指针指向队首元素的。7.从循环队列中删除一个元素时,其队头指针。8.在具有n个单元的循环队列中,队满时共有个元素的。9.一个栈的输入序列是12345,则栈的输出序列43512是。(填写“可能”或“不可能”)10.一个栈的输入序列是12345,则栈的输出序列12345是。(填写“可能”或“不可能”)第二章 线性表(参考答案)选择题:1.B。2.C。3.C。4.A。
11、5.B。6.D。7.B,A。8.B。9.C。10.A。11.A。12.C。13.A。14.C。(2.C。堆栈讲究先进后出,后进先出选项1是abcde先入栈,然后依次出栈,正好是edcba选项2是abcd先依次入栈,然后d出栈,e再入栈,e出栈。选项c是错误的,不可能a先出栈。选项4是a入栈,然后a出栈;b再入栈,b出栈依此类推。所以选c。)(13.A。因为rear有可能会转一圈到front的后面,所以需要加一下m)填空题:1.线性,任何,栈顶,队尾,队首。2.n - i +1。3. n - i。4.先移动栈顶指针,后存入元素。5.先取出元素,后移动栈顶指针。6.前一个位置。7.要加18.n-1
12、。9.不可能的。10.可能的。第三章 链表单项选择题1.不带头结点的单链表head为空的判定条件是。A.head=NULLB.head-next=NULLC.head-next=headD.head!=NULL2.带头结点的单链表head为空的判定条件是。A.head=NULLB.head-next=NULLC.head-next=headD.head!=NULL3.非空的循环单链表head的尾结点(由指针p所指向)满足。A.p-next=NULLB.p=NULLC.p-next=headD.p=head4.在循环双链表的p所指结点之后插入s所指结点的操作是。A. p-right=s;s-le
13、ft=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; 5.在一个单链表中,已知q所指结点是p所指结点的前驱结点,若在q和p之间插入s结点,则执行。A. s-next = p-next; p-next=s;B. p-next = s-next; s-next =
14、 p;C. q-next = s; s-next = p; D. p-next = s; s-next = q;6.在一个单链表中,已知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; D. p-next = s; s-next = p;7.在一个单链表中,若删除p所指结点的后续结点,则执行。A. p-next = p-next-next; B. p = p-next; p-next=p-next-next;C. p-nex
15、t = p-next; D. p =p-next -next;8.从一个具有n个结点的单链表中查找其值等于x的结点时,在查找成功的情况下,需平均比较个结点。A. n B. n/2 C. (n-1)/2 D. (n+1)/29.在一个具有n个结点的有序单链表中插入一个新结点并仍然有序的时间复杂度是。A. O(1) B. O(n) C. O(n2) D. O(nlog2n)10.给定有n个元素的向量,建立一个有序单链表的时间复杂度是。A. O(1) B. O(n) C. O(n2) D. O(nlog2n)11.向一个栈顶指针为HS的链栈中插入s所指结点,则执行。A. HS-next = s; B
16、. s-next = HS-next; HS-next = s;C. s-next = HS; HS = s; D. s-next = HS; HS = HS-next;12.从一个栈顶指针为HS的链栈中删除一个结点,用x保存被删除结点的值,则执行。A. x = HS; HS = HS-next; B. x = HS-data;C. HS = HS-next; x = HS-data; D. x = HS-data; HS = HS-next;13.在一个链队中,假设f和r分别为队首和队尾指针,插入s所指结点,则执行。A. f-next = s; f = s; B. r-next = s; r
17、 = s;C. s-next = r; r = s; D. s-next = f; f = s;14. 在一个链队中,假设f和r分别为队首和队尾指针,删除一个结点,则执行。A. r = f-next; B. r = r-next;C. f = f-next; D. f = r-next;填空题1.单链表是的链接存储表示。2.在双链表中,每个结点有两个指针域,一个指向,另一个指向。3. 在一个单链表中,p所指结点之前插入s所指向结点,可执行如下操作:(1)s-next = p-next;(2)p-next = s;(3)t = p-data;(4)p-data =;(5)s-data =;4.在
18、一单链表中,删除p所指结点时,应执行以下操作:(1)q = p-next;(2)p-data = p-next-data;(3)p-next = ;(4)free (q);5.带头结点(head)的单链表为空的条件是。6.在一个单链表中,p所指结点之后插入s所指向结点,应执行s-next = 和p-next = 的操作。7.非空的单循环链表head的尾结点(由p所指向),满足。8.在栈顶指针为HS的链栈中,判定栈空的条件是。9.在带头结点的链队列HQ中,判定只有一个头结点的条件是。编程题1.已知有一栈顶指针为HS的链栈,请编写一计算该链栈中结点个数的函数。2.已知有一带头结点的链队列HQ中,请
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 作业 答案 汇总 14
限制150内