东南大学十套数据结构试题及答案
数据结构试卷(一)
三、计算题(每题 6 分,共24分)
1. 在如下数组A中链接存储了一个线性表,表头指针为A [0].next,试写出该线性表。
A 0 1 2 3 4 5 6 7
da 65793 4ta 0 0 8 0 4 0 ne3 5 7 2 0 4 1 xt 2. 请画出下图的邻接矩阵和邻接表。
3. 已知一个图的顶点集V和边集E分别为:V={1,2,3,4,5,6,7};
E={(1,2)3,(1,3)5,(1,4)8,(2,5)10,(2,3)6,(3,4)15,
0
(3,5)12,(3,6)9,(4,6)4,(4,7)20,(5,6)18,(6,7)25};
用克鲁斯卡尔算法得到最小生成树,试写出在最小生成树中依次得到的各条边。
4. 画出向小根堆中加入数据4, 2, 5, 8, 3时,每加入一个数据后堆的变化。
四、阅读算法(每题7分,共14分) 1. LinkList mynote(LinkList L)
{//L是不带头结点的单链表的头指针 if(L&&L->next){ q=L;L=L->next;p=L; S1: while(p->next) p=p->next;
S2: p->next=q;q->next=NULL; }
return L; }
请回答下列问题:
(1)说明语句S1的功能; (2)说明语句组S2的功能;
(3)设链表表示的线性表为(a1,a2, …,an),写出算法执行后的返回值所表示的线性表。 2. void ABC(BTNode * BT) {
if BT {
1