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

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

Luz4年前 (2021-06-19)题库3486
最小生成树(普里姆算法)。

```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]


发表评论

访客

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