数据结构试卷及答案(9页).doc
《数据结构试卷及答案(9页).doc》由会员分享,可在线阅读,更多相关《数据结构试卷及答案(9页).doc(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-数据结构试卷及答案-第 9 页东华理工大学2015 2016学年第 一 学期考试模拟试卷 A一、 填空题(50分)1、数据结构是一门研究非数值计算的程序设计问题中的 数据元素 以及它们之间 关系 和运算等的科学。(2分)2、数据结构的类型通常分为: 集合、线性结构、树形结构、图状结构或网状结构 ;从逻辑上可以把它们分成: 线性结构和非线性结构 。3、数据的 逻辑结构 只抽象反映数据元素的 逻辑关系 ;数据的 存储(物理)结构 是数据的逻辑结构 在计算机存储器中的实现 。4、算法分析的目的是分析算法的 效率以求改进 ,算法分析的两个主要方面是 空间复杂度和时间复杂度 。A5、计算机算法是解决问
2、题的 有限运算序列 ,它必须具备 输入、输出、确定性、有穷性和稳定性 等5个方面的特性。6、线性结构中元素之间的关系存在 一对一 关系,树形结构中元素之间的关系存在 一对多 关系,图形结构中元素之间的关系存在 多对多 关系。7、试写出以下算法的时间复杂度i=s=0while (sn) i+;s += i;7、试写出以下算法的时间复杂度i = 1 while( i = n)i = i*2 O(log2n)8、抽象数据类型的定义由三元组来定义:(D,S,P)其中,D是 数据对象, S是D上的关系集,P是 对D的基本操作集。9、写出抽象数据类型线性表的定义ADT List数据对象:D=ai | ai
3、 Elemset, i=1,2,n,n0数据关系:R= | ai-1 , ai D, i=2,n基本操作:InitList(&L) /构造一个空的线性表LDestroyList(&L) /消毁线性表LListLength(L) /返回L中数据元素的个数ListInsert(&L,i,e) / 1 i ListLength(L)+1,在L中第i个位置之前插入数据元素e,L长度加1ListDelete(&L,i,&e) / 1 i ListLength(L),删除L中的第i个元素,并用e返回ListTraverse(L,visit() /依次对L的每个元素调用函数visit() ADT List1
4、0、指出线性表顺序存储、链式存储结构的优缺点。答:顺序存储优点:逻辑上相邻,物理位置也相邻,可以随机存取表中任一元素;缺点:插入和删除元素时需要移动大量元素。链式存储结构优点:插入、删除元素时不需要移动元素;缺点:逻辑上相邻,物理位置不一定相邻,不能随机存取表中元素,需要依次查找,求线性表的长度时不如顺序存储结构方便,需要逐个结点搜索计算,或设置带头结点的线性链表。11、完成下列在单链表中删除元素算法Status ListDelete_L(LinkList &L, int i, ElemType &e) /删除第i个元素ep = L; j =0; /p指向头结点while(p-next & j
5、next; +j /寻找第i个结点,并令p指向其前驱if(!(p-next) | ji-1) return ERROR; /删除位置不正确q= p -next; p-next = q-next ; /删除与释放结点e = q-data; free(q); return OK;12、在一个长度为n的线性链表中第i个元素(1in)之前插入一个元素时,需向后移动 n-i+1 个元素。13、在一个长度为n的线性链表中删除第i个元素(1in)时,需向前移动 n-i 个元素。14、在一个单链表中p所指结点之后插入一个 s所指结点时,应执行 s-next = p-next 和 p-next = s 的操作。
6、15、在单链表中,插入或删除一个结点元素时,仅需要修改 指针 而不需要移动 元素 。16、栈(Stack)是限定仅在表尾进行插入和删除操作的线性表,17、栈链式存储结构中删除栈顶元素,并用e返回,完成下列算法Status Pop(ListStack &S, SElemType &e)if(S.top=NULL) return ERROR; /栈无元素p = S.top;S.top = S.top-next;e = p-data;free(p);/释放节点批pS.len-;return OK;17、设有一队列,(a1,a2,an)则对头元素是 a1 队尾元素是 an 。18、假设队列以带头结点的
7、链式表示,则删除一个元素并返回给e的算法如下:Status DeQueue(LinkQueue &Q, QElemType &e)if(Q.front = Q.rear) return EEROR;p = Q.front-next;/p为需要删除的结点e = p-data;Q.front-next = p-next;if (Q.rear =p) Q.rear =;/队列中只有一个元素被删除时,队尾等于队头free(p);return OK;19、循环队列中,假设少用一个元素,则插入元素到队尾的算法Status EnQueue(SqQueue &Q, QElemType e)if(Q.rear+
8、1)%MAXQSIZE = Q.front) return ERROR;/队满 Q.baseQ.rear=e; Q.rear = (Q.rear +1) % MAXQSIZE;前移return OK;20、循环队列中,假设少用一个元素,则/删除队头元素并赋给e的算法如下Status DeQueue(SqQueue &Q, QElemType &e)if(Q.front = Q.rear) return ERROR;/队空e = Q.baseQ.front; Q.front = (Q.front +1) % MAXQSIZE; 前移return OK;21、判定一个队列QU(最多元素为MaxSi
9、ze)为空的条件是: QU-front = QU-rear;为满队列的条件是: QU-rear - QU-front = MaxSize 。22、S1=ABCDEFG,s2=PQRST,假设con(x,y)为连接两字符串函数,subs(s,i,j)返回串s中从第i个位置起的j个字符,len(s)返回串s的长度,则con(subs(s1,2,len(s2),subs(s1,len(s2),2)的结果串为:BCDEFEF23、什么是稀疏矩阵?如何衡量?举例采用三元子顺序表示已稀疏矩阵。答:当矩阵中的非零元素比较少,且分布没有一定的规律,称为稀疏矩阵。稀疏矩阵的衡量标准,可以用稀疏因子d表示,通常认
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 试卷 答案
限制150内