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

图拓扑编程

发布时间: 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;
}
这个是用栈实现的一个算法,你看下吧

热点内容
安卓怎么转发朋友圈小视频 发布:2025-04-02 17:38:08 浏览:715
ftp和数据库是一样的吗 发布:2025-04-02 17:37:57 浏览:943
ip网站服务器架构 发布:2025-04-02 17:37:19 浏览:300
curl上传图片php 发布:2025-04-02 17:28:08 浏览:554
家庭音响系统如何配置 发布:2025-04-02 17:18:51 浏览:635
数据库图片显示在jsp 发布:2025-04-02 17:13:08 浏览:324
小米六安卓8怎么样 发布:2025-04-02 17:10:58 浏览:53
分析编程课 发布:2025-04-02 16:58:49 浏览:71
什么安卓模拟器上微信比较好 发布:2025-04-02 16:58:12 浏览:79
javamapputmap 发布:2025-04-02 16:54:57 浏览:635