圖結構演算法
Ⅰ 對給定的圖結構,實現求解最小生成樹的Kruskal演算法,並給出動態演示!
呵呵,很感動,居然幫我問了,不過我現在做出來了,本想回答給自己的!O(∩_∩)O哈哈~!
Ⅱ 問幾道數據結構關於圖的演算法題
你好
很高興為你解答
答案是:分有點兒少啊。
滿意請採納,謝謝
Ⅲ 數據結構圖的演算法
Ⅳ 數據結構的圖的演算法
偽代碼
void DFS (int u)
{
reach[u] = 1
for (u的鄰接節點v) if (reach[v]==0) DFS (v)
}
Ⅳ 數據結構中圖的建立及演算法實現
#include<stdio.h>
#include<stdlib.h>
#define MaxSize 20
struct ArcNode
{
int adjvex;
struct ArcNode *nextarc;
};
struct Vnode
{
int data;
struct ArcNode *firstarc;
};
struct Vnode AdjList[MaxSize];
int m,n,v,cord;
void main()
{
void creatgraph(struct Vnode A[MaxSize]);
void dfs(struct Vnode A[MaxSize]);
do
{
printf("\n 主菜單");
printf("\n 1 建立無向圖的鄰接表");
printf("\n 2 按深度遍歷圖");
printf("\n 3 結束程序運行");
printf("\n-----------------------------------");
printf("\n 請輸入您的選擇 1, 2, 3 -->");
scanf("%d",&cord);
switch(cord)
{
case 1:
creatgraph(AdjList);
break;
case 2:
dfs(AdjList);
break;
case 3:
exit(0);
}
}while(cord<=3);
}//main end
void creatgraph(struct Vnode A[MaxSize])
{
int i,j,k;
struct ArcNode *p;
printf("input arces and vexes:");
scanf("%d %d",&m,&n);
for(k=0;k<n;k++)
{
printf("\ninput arc:");
scanf("%d%d",&i,&j);
p=(struct ArcNode*)malloc(sizeof(struct ArcNode));
p->adjvex=j;
p->nextarc=A[i-1].firstarc;
A[i-1].firstarc=p;
p=(struct ArcNode*)malloc(sizeof(struct ArcNode));
p->adjvex=i;
p->nextarc=A[j-1].firstarc;
A[j-1].firstarc=p;
}
printf("\n");
for(k=0;k<n;k++)
{
printf("%d",A[k].data);
p=A[k].firstarc;
while(p)
{
printf("%d",p->adjvex);
p=p->nextarc;
}
printf("\n");
}
}///creatgraph end
void dfs(struct Vnode A[MaxSize])
{
struct ArcNode *p,*ar[MaxSize];
int x,i,y,top=-1;
int visited[MaxSize];
for(i=0;i<n;i++)
visited[i]=0;
printf("\ninput x:");
scanf("%d",&x);
printf("%d",x);
visited[x-1]=1;
p=A[x-1].firstarc;
while((p)||(top>=0))
{
if(!p)
{
p=ar[top];
top--;
}
y=p->adjvex;
if(visited[y-1]==0)
{
visited[y-1]=1;
printf("->%d",y);
p=p->nextarc;
if(p)
{
top++;
ar[top]=p;
}
p=A[y-1].firstarc;
}
else p=p->nextarc;
}
}
Ⅵ 數據結構 圖的創建與訪問演算法
當年圖論掛了。
Ⅶ 什麼叫結構化演算法結構法演算法是不是用流程圖表示的
演算法是解決問題所需操作步驟的集合,是程序設計的根本,就如同人們為了完成一件事情必須有一個正確的步驟一樣.
演算法的表示有三種,自然語言,流程圖和偽碼.
自然語言:來表示具有表示選擇結構或循環結構演算法時不方便且不清楚.
流程圖:優點是直觀容易看懂,不足之處就是比較費事.
偽碼:非正式語言,採用文字和圖形符號表示,介於自然語言和計算機語言,具備了自然語言的通俗易懂,同時兼備了計算機語言的簡明緊湊,因此,編程人員常藉助此方法完成演算法設計.
例如:用偽碼表示法,求5!
Begin
置P的初值為1
置i的初值為2
while i <= 5
p <- p * i
i <- i + 1
endwhile
列印P的值
END
Ⅷ 數據結構中圖演算法都能解答生活中什麼樣的問題
如兩地最短距離,判斷一個工程能否順利完成,以完成某個工程需要的最短時間等
Ⅸ 請教大家一個《數據結構》中圖的一個演算法!
關鍵是你用什麼數據結構, 如果是用鄰接矩陣.
那麼你只需要把N維矩陣改成n-1維就可以了.
Ⅹ 設計演算法結構流程圖
提問者應該把意思再明確一下!