C语言 拓扑排序基础
来源:互联网 发布:韩顺平 php大牛班课程 编辑:程序博客网 时间:2024/05/16 19:56
#include<stdio.h>#include<string.h>int in[1000],match[1000][1000];//in[]存储点的入度 ,match[]存储图的临界阵 int main(){ int m,n,i,j,p,q,k; while(scanf("%d%d",&n,&m)!=EOF) { memset(match,0,sizeof(match)); memset(in,0,sizeof(in)); for(i=1;i<=m;i++) { scanf("%d%d",&p,&q); if(match[p][q]==0)//此处别忘了重边的判断,否则会wa { match[p][q]=1; in[q]++;//重边的时候,如果不做处理,度数为计算错误 } } //拓扑排序 for(i=1;i<=n;i++)//进行n次遍历,每次找出一个入度为0的节点 for(j=1;j<=n;j++)//遍历所有节点 if(in[j]==0)//找出入度为0的节点 { in[j]--; //度数递减,避免下次继续找到 if(i!=n) { printf("%d ",j); } else printf("%d\n",j); for(k=1;k<=n;k++) { if(match[j][k]==1)// 删除与度数为0的节点相关联的边 in[k]--; }break; } } return 0;}
点击打开链接
模板点击打开链接
0 0
- C语言 拓扑排序基础
- 拓扑排序C语言
- 拓扑排序--C语言
- c语言实现拓扑排序
- 拓扑排序的c语言实现
- 拓扑排序(一)之 C语言详解
- 拓扑排序的c语言实现
- 拓扑排序的c语言实现
- 拓扑排序(C语言实现)
- C语言拓扑排序的实现
- 拓扑排序(C语言 邻接表)
- 拓扑排序(C语言 邻接矩阵存储)
- 拓扑排序 基础
- 【拓扑排序】基础
- C语言基础-冒泡排序
- C语言基础 冒泡排序
- 图邻接表C语言实现 拓扑排序
- 数据结构之---C语言实现拓扑排序AOV图
- Android activity 去掉标题栏的三种方法
- 宏的副作用和do{}while(0)的说明
- csdn如何转载别人的文章
- 中央气象局天气预报接口---java实现
- git for linux
- C语言 拓扑排序基础
- 预处理指令--C语言
- Cstdiofile类详解
- android mms Apn的omacp xml文件样本
- OTA本质与实现流程分析
- 常用数据类型的表示范围
- JavaSe——设计模式
- Maven deploy时报Fatal error compiling: tools.jar not found错误的问题处理
- mac系统中文版 download为英文