1 数据结构试卷(一) 三、计算题(每题 6 分,共2 4 分) 1
在如下数组A 中链接存储了一个线性表,表头指针为A [0]
next,试写出该线性表
A 0 1 2 3 4 5 6 7 data 60 50 78 90 34 40 next 3 5 7 2 0 4 1 2
请画出下图的邻接矩阵和邻接表
已知一个图的顶点集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, (3,5)12,(3,6)9,(4,6)4,(4,7)20,(5,6)18,(6,7)25}; 用克鲁斯卡尔算法得到最小生成树,试写出在最小生成树中依次得到的各条边
画出向小根堆中加入数据4, 2, 5, 8, 3 时,每加入一个数据后堆的变化
四、阅读算法(每题7 分,共1 4 分) 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),写出算法执行后的返回值所表示的线性表
void ABC(BTNode * BT) { if BT { ABC (BT->left); ABC (BT->right); cout