參考答案
一、選擇題
1.C 2.C 3.C 4.B 5.B
6.C 7.B 8.C 9.A 10.A
二、判斷題
1.對 2.錯(cuò) 3.對 4.錯(cuò) 5.錯(cuò)
6.對 7.對 8.對 9.對 10.對
三、填空題
1. 1. (49,13,27,50,76,38,65,97)
2. 2. t=(bitree *)malloc(sizeof(bitree)),bstinsert(t->rchild,k)
3. 3. p->next=s
4. 4. head->rlink,p->llink
5. 5. CABD
6. 6. 1,16
7. 7. 0
8. 8. (13,27,38,50,76,49,65,97)
9. 9. n-1
10. 10. 50
四、算法設(shè)計(jì)題
1. 1. 設(shè)計(jì)一個(gè)在鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)上統(tǒng)計(jì)二叉樹中結(jié)點(diǎn)個(gè)數(shù)的算法。
void countnode(bitree *bt,int &count)
{
if(bt!=0)
{count++; countnode(bt->lchild,count); countnode(bt->rchild,count);}
}
2. 2. 設(shè)計(jì)一個(gè)算法將無向圖的鄰接矩陣轉(zhuǎn)為對應(yīng)鄰接表的算法。
typedef struct {int vertex[m]; int edge[m][m];}gadjmatrix;
typedef struct node1{int info;int adjvertex; struct node1 *nextarc;}glinklistnode;
typedef struct node2{int vertexinfo;glinklistnode *firstarc;}glinkheadnode;
void adjmatrixtoadjlist(gadjmatrix g1[ ],glinkheadnode g2[ ])
{
int i,j; glinklistnode *p;
for(i=0;i<=n-1;i++) g2[i].firstarc=0;
for(i=0;i<=n-1;i++) for(j=0;j<=n-1;j++)
if (g1.edge[i][j]==1)
{
p=(glinklistnode *)malloc(sizeof(glinklistnode));p->adjvertex=j;
p->nextarc=g[i].firstarc; g[i].firstarc=p;
p=(glinklistnode *)malloc(sizeof(glinklistnode));p->adjvertex=i;
p->nextarc=g[j].firstarc; g[j].firstarc=p;
}
}
以上為2016年考研計(jì)算機(jī)數(shù)據(jù)結(jié)構(gòu)考前測試題及答案,希望對考生們能有所幫助,若想了解更多研究生相關(guān)信息,如考研改革、考研考試等,請關(guān)注唯學(xué)網(wǎng)考研欄目,小編會(huì)第一時(shí)間為你更新最新資訊。
|
|
||
|
|