-->
当前位置:首页 > 题库 > 正文内容

程序填空题:最小生成树(普里姆算法)

Luz4年前 (2021-05-10)题库1183
最小生成树(普里姆算法)。

```c++
#include
#define MVNum 100
#define MaxInt 32767
using namespace std;

struct edge{
char adjvex;
int lowcost;
}closedge[MVNum];

typedef struct{
char vexs[MVNum];
int arcs[MVNum][MVNum];
int vexnum,arcnum;
}AMGraph;

int LocateVex(AMGraph G , char v);//实现细节隐藏
int CreateUDN(AMGraph &G);//实现细节隐藏

int Min(AMGraph G){
int i;
int index = -1;
int min = MaxInt;
for(i = 0 ; i < G.vexnum ; ++i){
if(){
min = closedge[i].lowcost;
index = i;
}
}
return index;
}

void MiniSpanTree_Prim(AMGraph G, char u){
int k , j , i;
char u0 , v0;
k =LocateVex(G, u);
for(j = 0; j < G.vexnum; ++j){
if(j != k){
closedge[j].adjvex = ;
closedge[j].lowcost = ;
}
}
closedge[k].lowcost = ;
for(i = 1; i < G.vexnum; ++i){
k = ;
u0 = closedge[k].adjvex;
v0 = G.vexs[k];
cout << u0 << "->" << v0 << endl;
closedge[k].lowcost = ;
for(j = 0; j < G.vexnum; ++j)
if(G.arcs[k][j] < closedge[j].lowcost){
closedge[j].adjvex = ;
closedge[j].lowcost = ;
}
}
}

int main(){
AMGraph G;
CreateUDN(G);
char u;
cin >> u;
MiniSpanTree_Prim(G , u);
return 0;
}
```






答案:
第1空:min > closedge[i].lowcost && closedge[i].lowcost != 0

第2空:u

第3空:G.arcs[k][j]

第4空:0

第5空:Min(G)

第6空:0

第7空:G.vexs[k]

第8空:G.arcs[k][j]

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。