当前位置:首页 > 清华大学数据结构试题和答案
. . . .
3. 3. 设指针变量p指向单链表中结点A,指针变量s指向被插入的结点X,则在结点A的后面插入结点X需要执
行的语句序列:s->next=p->next; _________________;。
4. 4. 设指针变量head指向双向链表中的头结点,指针变量p指向双向链表中的第一个结点,则指针变量p和指
针变量head之间的关系是p=_________和head=__________(设结点中的两个指针域分别为llink和rlink)。 5. 5. 设某棵二叉树的中序遍历序列为ABCD,后序遍历序列为BADC,则其前序遍历序列为__________。 6. 6. 完全二叉树中第5层上最少有__________个结点,最多有_________个结点。
7. 7. 设有向图中不存在有向边
为_____________________________。
9. 9. 设连通图G中有n个顶点e条边,则对应的最小生成树上有___________条边。 10.
四、算法设计题(20分)
1. 1. 设计一个在链式存储结构上统计二叉树中结点个数的算法。 2. 2. 设计一个算法将无向图的邻接矩阵转为对应邻接表的算法。
10. 设有一组初始记录关键字序列为(50,16,23,68,94,70,73),则将它们调整成初始堆只需把16与___________相互交换即可。
数据结构试卷(八)参考答案
一、选择题 1.C 6.C
二、判断题 1.对 6.对
三、填空题
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
学习资料
2.C 7.B
3.C 8.C
4.B 9.A
5.B 10.A
2.错 7.对
3.对 8.对
4.错 9.对
5.错 10.对
. . . .
四、算法设计题
1. 1. 设计一个在链式存储结构上统计二叉树中结点个数的算法。
void countnode(bitree *bt,int &count) {
if(bt!=0)
{count++; countnode(bt->lchild,count); countnode(bt->rchild,count);} }
2. 2. 设计一个算法将无向图的邻接矩阵转为对应邻接表的算法。
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; } }
数据结构试卷(九)
一、选择题(30分)
1.下列程序段的时间复杂度为( )。
for(i=0; i for(i=0; i (A) O(m*n*t) (A) n-i (B) O(m+n+t) (B) n+l -i (C) O(m+n*t) (C) n-1-i (D) O(m*t+n) (D) i 2.设顺序线性表中有n个数据元素,则删除表中第i个元素需要移动( )个元素。 3.设F是由T1、T2和T3三棵树组成的森林,与F对应的二叉树为B,T1、T2和T3的结点数分别为N1、N2和N3,则二叉树B的根结点的左子树的结点数为( )。 (A) N1-1 (B) N2-1 (C) N2+N3 (D) N1+N3 4.利用直接插入排序法的思想建立一个有序线性表的时间复杂度为( )。 学习资料
共分享92篇相关文档