出自:安阳师范学院-计算机应用技术-数据结构
阅读下列程序,并回答问题:
#include<stdio.h>
substr(char*t,char*s,int pos,int len)
{ while(len>0&&*s)
{ *t=*(s+pos-l);
t++;s++;len--;
}
*t=.\0.;
}
char *f31(char*s)
{ char t[100];
if (strlen(s)=1)
return s;
substr(t,s,1,1);
substr(s,s,2,strlen(s)-1);
f31(s);
return strcat(s,t);
}
main( )
{ char str[100]= ..String..;
printf(..%s\n..,f31(str));
}
(1)请写出执行该程序后的输出结果;
(2)简述函数f31的功能。
假设以有序对表示从双亲结点到孩子结点的一条边,若已知树中边的集合为{<a,b>,<a,d>,<a,c>,<c,e>,<c,f>,<c,g>,<c,h>,<e,i>,<e,j>,<g,k>},请回答下列问题:
(1)哪个结点是根结点?
(2)哪些结点是叶子结点?
(3)哪些结点是k的祖先?
(4)哪些结点是j的兄弟?
(5)树的深度是多少?
假设用表示树的边(其中x是y的双亲),已知一棵树的边集为{<b,d>,<a,b>,<c,g>,<c,f>,<c,h>,<a,c>},该树的度是_____ 。