数据构造试卷〔一〕三、计算题〔每题 6 分,共 24 分〕1
在如下数组 A 中链接存储了一个线性表,表头指针为 A [0]
next,试写出该线性表
A01234567data605078903440next35720412
请画出以下列图的邻接矩阵和邻接表
一个图的顶点集 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 分,共 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;}returnL;}请答复以下问题:〔1〕说明语句 S1 的功能;〔2〕说明语句组 S2 的功能;〔3〕设链表表示的线性表为〔a1,a2, …,a 〕,写出算法执行后的返回值所表示的线性n表
void ABC(BTNode * BT){ifBT {ABC (BT->left);ABC (BT->right); cout