2015年计算机考研专业课考试科目为:计算机组成原理、数据结构、操作系统以及计算机网络等,需要大家记忆的东西很多,但是更重要的还是要理解,融会贯通才能够把题做好,把问题解决。新东方在线小编分享计算机数据结构测试题和参考答案,希望广大考生在复习之余能够认真做题,不断检验和查漏补缺,争取全面提高。
下面请看2015年考研:计算机数据结构测试题(八)答案
一、选择题
1.B 2.B 3.A 4.A 5.A
6.B 7.D 8.C 9.B 10.D
第3小题分析:首先用指针变量q指向结点A的后继结点B,然后将结点B的值复制到结点A中,最后删除结点B。
第9小题分析:9快速排序、归并排序和插入排序必须等到整个排序结束后才能够求出最小的10个数,而堆排序只需要在初始堆的基础上再进行10次筛选即可,每次筛选的时间复杂度为O(log2n)。
二、填空题
1. 1. 顺序存储结构、链式存储结构
2. 2. 9,501
3. 3. 5
4. 4. 出度,入度
5. 5. 0
6. 6. e=d
7. 7. 中序
8. 8. 7
9. 9. O(1)
10. 10. i/2,2i+1
11. 11. (5,16,71,23,72,94,73)
12. 12. (1,4,3,2)
13. 13. j+1,hashtable[j].key==k
14. 14. return(t),t=t->rchild
第8小题分析:二分查找的过程可以用一棵二叉树来描述,该二叉树称为二叉判定树。在有序表上进行二分查找时的查找长度不超过二叉判定树的高度1+log2n。
三、算法设计题
1. 1. 设计在单链表中删除值相同的多余结点的算法。
typedef int datatype;
typedef struct node {datatype data; struct node *next;}lklist;
void delredundant(lklist *&head)
{
lklist *p,*q,*s;
for(p=head;p!=0;p=p->next)
{
for(q=p->next,s=q;q!=0; )
if (q->data==p->data) {s->next=q->next; free(q);q=s->next;}
else {s=q,q=q->next;}
}
}
2. 2. 设计一个求结点x在二叉树中的双亲结点算法。
typedef struct node {datatype data; struct node *lchild,*rchild;} bitree;
bitree *q[20]; int r=0,f=0,flag=0;
void preorder(bitree *bt, char x)
{
if (bt!=0 && flag==0)
if (bt->data==x) { flag=1; return;}
else {r=(r+1)% 20; q[r]=bt; preorder(bt->lchild,x); preorder(bt->rchild,x); }
}
void parent(bitree *bt,char x)
{
int i;
preorder(bt,x);
for(i=f+1; i<=r; i++) if (q[i]->lchild->data==x || q[i]->rchild->data) break;
if (flag==0) printf("not found x\n");
else if (i<=r) printf("%c",bt->data); else printf("not parent");
}
实践是检验真理的唯一标准,做题时检验自身的重要途径,新东方在线小编希望每一位考生都能够把握理论基础,注重实践应用,真正做到统筹全局,整体提升。在这里预祝大家2015年考研,取得一个好成绩,加油!
温馨提示:要学好一门专业课,选好参考书是非常有必要的。向大家推荐:严蔚敏的数据结构、白中英的计算机组成、西安电子科技大的操作系统、谢希仁的网络等书。另外,推荐我们新东方在线的【赢在起点——2015考研全科备考攻略系列公开课】辅助大家进行复习备考。如需参加培训课程,请进入新东方在线首页选课中心http://kaoyan.koolearn.com/ 进行选课,我们有2015考研计算机考点精讲班、2015考研计算机全程班、2015考研政英数计算机全科签约联报班等课程供大家选择。
了解更多2015年计算机考研信息关注新东方在线,更多资料下载,更多备考指导,更多经验分享~~~