|
发表于 2016-7-9 11:56:37
|
显示全部楼层
一、选择题
1.C 2.C 3.D 4.C 5.A
6.C 7.C 8.B 9.B 10.B
二、填空题
1. 1. (F+1) % m
2. 2. O(n),O(n)
3. 3. 2n,n+1
4. 4. s->next=p->next; s->next=s
5. 5. n, 2e
6. 6. m=2e
7. 7. CBA
8. 8. 4,16
9. 9. i-j+1,0
10. 10. n-1
三、应用题
1. 1. 链式存储结构略,前序ABDEC,中序DBEAC,后序DEBCA。
2. 2. 哈夫曼树略,WPL=78
3. 3. (18,5,16,19,21,23),(5,16,21,19,18,23)
4. 4. 线性探测: 链地址法: 5. 5. 深度:125364,广度:123456,最小生成树T的边集为E={(1,4),(1,3),(3,5),(5,6),(5,6)}
四、算法设计题
1. 1. 设计判断单链表中结点是否关于中心对称算法。
typedef struct {int s[100]; int top;} sqstack;
int lklistsymmetry(lklist *head)
{
sqstack stack; stack.top= -1; lklist *p;
for(p=head;p!=0;p=p->next) {stack.top++; stack.s[stack.top]=p->data;}
for(p=head;p!=0;p=p->next) if (p->data==stack.s[stack.top]) stack.top=stack.top-1; else return(0);
return(1);
}
2. 2. 设计在链式存储结构上建立一棵二叉树的算法。
typedef char datatype;
typedef struct node {datatype data; struct node *lchild,*rchild;} bitree;
void createbitree(bitree *&bt)
{
char ch; scanf("%c",&ch);
if(ch=='#') {bt=0; return;}
bt=(bitree*)malloc(sizeof(bitree)); bt->data=ch;
createbitree(bt->lchild); createbitree(bt->rchild);
}
3. 3. 设计判断一棵二叉树是否是二叉排序树的算法。
int minnum=-32768,flag=1;
typedef struct node{int key; struct node *lchild,*rchild;}bitree;
void inorder(bitree *bt)
{
if (bt!=0)
{inorder(bt->lchild); if(minnum>bt->key)flag=0; minnum=bt->key; inorder(bt->rchild);}
}
以上就是为大家整理的计算机数据结构测试题及参考答案,希望能够帮助大家更好的备考,祝大家能够取得好成绩!
点击查看跨考教育2015年考研大纲解析 |
|