数据结构(C语言)关于树、二叉树、图的基本操作。
2024-10-19 13:36:07
1) 编写算法函数int equal(tree t1, tree t2),判断两棵给定的树是否等价;
int equal(tree t1,tree t2)
{
int k;
if(t1==NULL&&t2==NULL)
return TRUE;
else if(t1!=NULL&&t2==NULL||t1==NULL&&t2!=NULL)
{
return FALSE;
}
else if(t1->data!=t2->data)
{
return FALSE;
}
for(k=;k<m;k++)
{
equal(t1->child[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;
}
else if(!empty(&s))
{
t=pop(&s);
t=t->rchild;
}
}
3)编写算法函数degree(LinkedGraph g)输出以邻接表为存储结构的无向图的各顶点的度。
void degree(LinkedGraph g)
{
int k;
int n;
EdgeNode *p;
for(k=;k<g.n;k++)
{
p=g.adjlist[k].FirstEdge;
n=;
while(p!=NULL)
{
n++;
p=p->next;
}
if(k==)
{
printf("%d\n",n);
}
else
{
printf("%d\n",n);
}
}
}
最新文章
- .net之工作流工程展示及代码分享(一)工作流表单
- J2EE中关于tomcat的maxIdle、maxActive、maxActive相关配置
- PHP简单post验证绕过
- java基础-003
- 2016.7.13final 修饰符使用
- php下正则表达式整理
- SlidingMenu 左侧滑动菜单
- as3中去掉字符串两边的空格,换行符
- URL和HTTP协议(无图片)
- MyBatis基础:MyBatis调用存储过程(6)
- 前端如何生成条形码---JsBarcode
- 安卓ndk 忽略 error: undefined reference to &#39;找不到符号
- StringBuilder and StringBuffer
- firewall-cmd.man
- JavaScript设计模式----装饰者模式
- 多线程之共享变量.md
- java-web的mybatis的学习
- Mac下给SD卡烧录树莓派系统
- free命令的具体含义
- C++内存管理-重载内存管理函数