1.编写算法函数int equal(tree t1, tree t2),判断两棵给定的树是否等价; int equal(tree t1,tree t2) { int k; if(t1==NULL&&t2==NULL) return TRUE; elseif(t1!=NULL&&t2==NULL||t1==NULL&&t2!=NULL) { return FALSE; }elseif(t1->data!=t2->data) {return FALSE; }for(k=0;kchild[k],t2->child[k]); if(equal(t1->child[k],t2->child[k])==FALSE) {return FALSE; }else return TRUE;}} 2. 编写算法函数void preorder(bintree t)实现二叉树t的非递归前序遍历; void preorder1(bintree t) { seqstack s; init(&s); while(t||!empty(&s)) { if(t) { printf("%c",t->data); push(&s,t);t=t->lchild; }elseif(!empty(&s)) {t=pop(&s);t=t->rchild; }18} 3.编写算法函数degree(LinkedGraph g)输出以邻接表为存储结构的无向图的各顶点的度。 void degree(LinkedGraph g) { int k; int n; EdgeNode *p; for(k=0;knext; } if(k==0) {printf("%d\n",n); }else {printf("%d\n",n);} }} 以上就介绍了数据结构(C语言)关于树、二叉树、图的基本操作。希望有所帮助。 |
|
来自: python_lover > 《待分类》