分享

【教程】C语言实现树、二叉树、图的基本操作

 python_lover 2021-05-12

 

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语言)关于树、二叉树、图的基本操作。希望有所帮助。


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多