当前位置:首页 » 编程软件 » 图拓扑编程

图拓扑编程

发布时间: 2022-02-26 00:48:02

㈠ 急急急~~~数据结构,编写函数实现图的拓扑排序

#include<stdio.h>
#include<string.h>
#define M 30

int a[M][M],n;

void topo()
{
int i,j,x;
int in[M],ans[M],an;//统计入度,最后答案,答案尺寸
int q[M],qh,qt;//0入度点的队列
memset(in,0,sizeof(in));
an=0;
//统计入度
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
if(a[i][j]!=0)//假定a[i][j]=0为无边相连
in[j]++;
}
}
//入度为0的点先入队
qh=0;qt=0;
for(i=0;i<n;i++)
{
if(in[i]==0)
{
q[qt]=i;
qt++;
}
}
//拓扑
for(i=0;i<n;i++)
{
if(qh==qt)//队列为空,说明剩余点都不是入度为0的点
break;
x=q[qh];qh++;//取队头
ans[an]=x;an++;//记录答案
for(j=0;j<n;j++)
{
if(a[x][j]!=0)//该点指向的边都减去一个入度
{
in[j]--;
if(in[j]==0)//入队
{
q[qt]=j;
qt++;
}
}
}
}
if(an<n)//答案没有取所有点,说明没有拓扑序
printf("unsolve\n");
else
{
for(i=0;i<an;i++)
printf("%d ",ans[i]);
printf("\n");
}
}

void main()
{
int i,j;
memset(a,0,sizeof(a));
scanf("%d",&n);
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",&a[i][j]);
}
}
topo();
}
应该大概就这样。。。
请根据实际情况修改main函数,或将全局变量处理一下。。。

㈡ 求网络拓扑图的详细编址!@@如图!!

我不知道你是要分配IP地址还是要干什么,直接在路由器上分不就行了,
QQ:165444871

㈢ 有向图拓扑排序演示算法(VC图形编程,语言)

是打发

c语言编程 拓扑算法

i=0
A[1...n]为一个新数组
循环
寻找入度为零的点,将该点放到位置A[i]中
i=i+1
将该点出边删除
输出A

㈤ 拓扑关系怎样在编程中表示

要选择数据结构哦,
用树或者图储存,各个点的坐标就可以,参考书上有例子的

㈥ c++ 编程 拓扑结构

网状结构最简单的可以使用二维数组实现。比如:
int g[5][5];可以表示一个有5个节点的图。其中,g[i][j]可以表示节点i和节点j之间的距离(或者从i到j的费用,节点i到j之间断路的概率,等等)

㈦ 编程实现图的拓扑排序算法

typedef struct node
{
int adjvex;
struct node *next;
}edgenode;

typedef struct
{
int vertex;
int id;
edgenode *link;
}vexnode;

vexnode dig[n];

void topsort(vexnode dig[])
{
int i,j,k,m=0,top=-1;
edgenode *p;
for(i=0;i<n;i++)
if(dig[i].id==0)
{
dig[i].id=top;
top=i;
}
while(top!=-1)
{
j=top;
top=dig[top].id;
cout<<dig[j].vertex+1<<"\t";
m++;
p=dig[j].link;
while(p)
{
k=p->adjvex;
dig[k].id--;
if(dig[k].id==0)
{
dig[k].id=top;
top=k;
}
p=p->next;
}
}
if(m<n)
cout<<"The network has a cycle.."<<endl;
}
这个是用栈实现的一个算法,你看下吧

热点内容
iptables限制ip访问 发布:2025-01-17 21:38:01 浏览:173
易拉罐压缩机 发布:2025-01-17 21:25:35 浏览:923
在c语言是什么意思啊 发布:2025-01-17 21:21:02 浏览:516
re0脚本 发布:2025-01-17 21:13:34 浏览:305
甜蜜家园密码箱有什么用 发布:2025-01-17 21:07:28 浏览:47
有教少儿编程 发布:2025-01-17 20:55:37 浏览:37
直播背脚本 发布:2025-01-17 20:50:18 浏览:410
ftp移动文件的mv命令 发布:2025-01-17 20:45:53 浏览:404
电脑上啥是服务器 发布:2025-01-17 20:40:48 浏览:352
安卓手机怎么连大众车载 发布:2025-01-17 20:20:53 浏览:241