當前位置:首頁 » 編程軟體 » 圖拓撲編程

圖拓撲編程

發布時間: 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-07-01 09:46:15 瀏覽:543
編譯原理re不能描述的串 發布:2025-07-01 09:34:24 瀏覽:75
本地電腦怎麼用伺服器ip 發布:2025-07-01 09:10:03 瀏覽:830
有趣的python代碼 發布:2025-07-01 09:10:02 瀏覽:361
威龍奇兵ftp 發布:2025-07-01 09:07:38 瀏覽:693
linuxedit 發布:2025-07-01 09:03:36 瀏覽:423
跑分平台腳本 發布:2025-07-01 08:40:17 瀏覽:600
手機上的中文編程軟體 發布:2025-07-01 08:39:13 瀏覽:822
7z解壓縮linux 發布:2025-07-01 08:37:47 瀏覽:320
sybase資料庫字元集 發布:2025-07-01 08:37:03 瀏覽:348