数据结构考试题答案(浙江科技学院)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
参考答案及评分标准
一、单项选择题(每题2分,共30分)
二、填空题(每空1分,共12分)
1、 集合、线性结构、树形结构、网状结构或图形结构 评分说明:答案顺序可互换
2、O(m*n)
3、2,4
4、 5
5、(908、897、512、653、503、170、87、61、275、462)评分说明:如果部分对可给半分
6、 ,2i+1
7、(1,3,4,5,2),(1,3,2,4,5) 评分说明:如果部分对可给半分
三、程序填空题(共3小题,每空3分,共18分) 评分说明:可根据情况给一半的分数
1. stack.top++, stack.s[stack.top]=x
2. return(t),t=t->rchild
3. i ,R[j--]=R[i] 四、应用题(共4小题,每题6分,共24分) 1. 后根遍历序列:FDBGHECA 评分说明:如果部分对可根据情况给出相应的分数 评分说明:如果部分对可根据情况给出相应的分数 A B C D E G H F ⎣⎦2/i 3.初始为:178,512, 170,897, 653,426,154,509,782 第一趟(增量为5):178,154,170,782,653,426,512,509,897 第二趟(增量为3):178,154,170,512,509,426,782,653,897 第三趟(增量为1):154,170,178,426,509,512,653,782,897 评分说明:如果部分对可根据情况给出相应的分数 4、 评分说明:如果部分对可根据情况给出相应的分数 五、算法设计题(每题8分,共16分。) 1、typedef struct BiTNode { TElemType data; struct BiTNode *lchild, *rchild; // 左右孩子指针 } BiTNode, *BiTree; int Depth (BiTree T ) {if ( !T ) depthval = 0; else {depthLeft = Depth( T->lchild ); 2分depthRight= Depth( T->rchild ); 2分depthval = 1 +(depthLeft> depthRight?depthLeft:depthRight); 2分 } return depthval; 2分} 评分说明:如果与参考答案不一致,达到题目要求,参考评分标准给分。 2、typedef struct LNode{ int data; struct LNode *next; }; void MergeList(struct LNode *la,struct LNode *lb,struct LNode *lc) { struct LNode *L1,*L2,*L3; L1=la->next;L2=lb->next;L3=lc; la->next=NULL;lb->next=NULL; 2分 while(L1 && L2) 1分 { if(L1->data<=L2->data) { L3->next=L1; L3=L1; L1=L1->next; } 2分 else { L3->next=L2; L3=L2; L2=L2->next; } 2分} L3->next=L1?L1:L2; 1分 } 算法复杂度O(m+n)m:第一个表的长度;n:第二个表的长度 评分说明:如果与参考答案不一致,达到题目要求,参考评分标准给分。