当前位置: 首页 > news >正文

济南建设网站的公司哪家好爱战网关键词查询网站

济南建设网站的公司哪家好,爱战网关键词查询网站,深圳有哪些公司名称,甘肃省人民政府最新任免题目要求: 对于下面的这个无向网,给出: 1.“深度优先搜索序列”(从V1开始) 2.“广度优先序列”(从V1开始) 3.“用Prim算法求最小生成树” 代码实现: 1.深度优先搜索&#xff1a…

题目要求:

对于下面的这个无向网,给出:

1.“深度优先搜索序列”(从V1开始)

2.“广度优先序列”(从V1开始)

3.“用Prim算法求最小生成树”

代码实现:

1.深度优先搜索:

代码部分:

#include<stdio.h>
#include<malloc.h>
#define MAX 100typedef struct ArcNode{int adjvex;int weight;struct ArcNode *nextarc;
}ArcNode;
typedef struct VNode{char vertex[2];ArcNode *firstarc;
}VNode;
typedef VNode AdjList[MAX];
typedef struct ALGraph{AdjList adjlist;int vexnum,arcnum;
}ALGraph;int LocateVerTex(ALGraph *G,char *v)
{int k;for(k=0;k<G->vexnum;k++)if(G->adjlist[k].vertex[0] == v[0] && G->adjlist[k].vertex[1] == v[1])return k;return -1;	
}void CreateALGraph(ALGraph *G)
{int i,adj1,adj2;int weight;char v1[2],v2[2];ArcNode *tmp = NULL;printf("请输入顶点个数和边数:\n");scanf("%d %d",&G->vexnum,&G->arcnum);getchar();printf("请输入{%d}个顶点\n",G->vexnum);for(i=0;i<G->vexnum;i++){scanf("%c%c",&G->adjlist[i].vertex[0],&G->adjlist[i].vertex[1]);G->adjlist[i].firstarc = NULL;}getchar();printf("请输入{%d}条边,格式(v1 v2 权值).\n",G->arcnum);for(i=0;i<G->arcnum;i++){scanf("%c%c %c%c %d",&v1[0],&v1[1],&v2[0],&v2[1],&weight);getchar();adj1 = LocateVerTex(G,v1);adj2 = LocateVerTex(G,v2);if(adj1 == -1 || adj2 == -1){printf("失败.\n");i = i - 1;continue;}else{tmp = (ArcNode*)malloc(sizeof(ArcNode));tmp->adjvex = adj2;tmp->weight = weight;tmp->nextarc = G->adjlist[adj1].firstarc;G->adjlist[adj1].firstarc = tmp;tmp = (ArcNode*)malloc(sizeof(ArcNode));tmp->adjvex = adj1;tmp->weight = weight;tmp->nextarc = G->adjlist[adj2].firstarc;G->adjlist[adj2].firstarc = tmp;printf("成功.\n");}}
}void DFS(ALGraph *G,int v,int *visit)
{	int w;ArcNode *tmp = NULL;visit[v] = 1;printf("访问顶点:{%c%c}.\n",G->adjlist[v].vertex[0],G->adjlist[v].vertex[1]);tmp = G->adjlist[v].firstarc;while(tmp){w = tmp->adjvex;if(visit[w] == 0){DFS(G,w,visit);}tmp = tmp->nextarc;}
}void DFSTraverse(ALGraph *G)
{int visit[G->vexnum];int v;for(v=0;v<G->vexnum;v++){visit[v] = 0;}for(v=0;v<G->vexnum;v++){if(visit[v] == 0){DFS(G,v,visit);}}
}int main()
{ALGraph G;CreateALGraph(&G);DFSTraverse(&G);return 0;
}

验证:

2.广度优先搜索:

代码部分:

#include<stdio.h>
#define MAX 100
typedef struct MGraph{char vertex[MAX][2];int arcs[MAX][MAX];int vexnum,arcnum;
}Mgraph;
int LocateVerTex(MGraph *G,char *v)
{int k;for(k=0;k<G->vexnum;k++){if(G->vertex[k][0] == v[0] && G->vertex[k][1] == v[1])return k;}return -1;	
}void CreateMGraph(MGraph *G)
{int i,j,adj1,adj2;int weight;char v1[2],v2[2];printf("请输入顶点个数和边数:\n");scanf("%d %d",&G->vexnum,&G->arcnum);getchar();printf("请输入{%d}个顶点\n",G->vexnum);for(i=0;i<G->vexnum;i++){scanf("%c%c",&G->vertex[i][0],&G->vertex[i][1]);}getchar();for(i=0;i<G->vexnum;i++)for(j=0;j<G->vexnum;j++)G->arcs[i][j] = 0;printf("请输入{%d}条边,格式(v1 v2 权值).\n",G->arcnum);for(i=0;i<G->arcnum;i++){scanf("%c%c %c%c %d",&v1[0],&v1[1],&v2[0],&v2[1],&weight);getchar();adj1 = LocateVerTex(G,v1);adj2 = LocateVerTex(G,v2);if(adj1 == -1 || adj2 == -1){printf("失败.\n");i = i - 1;continue;}else{G->arcs[adj1][adj2] = weight;G->arcs[adj2][adj1] = weight;printf("成功.\n");}}
}void BFSTraverse(MGraph *G)
{int Q[G->vexnum+1],visit[G->vexnum];int i,u,w;for(i=0;i<G->vexnum;i++)visit[i] = 0;int front = 0,rear = 0;for(i=0;i<G->vexnum;i++){if(visit[i] == 0){visit[i] = 1;printf("输出顶点:{%c%c}\n",G->vertex[i][0],G->vertex[i][1]);Q[rear] = i;rear = (rear+1) % (G->vexnum+1);while(front != rear){u = Q[front];front = (front+1) % (G->vexnum+1);for(w=0;w<G->vexnum;w++){if(G->arcs[u][w] != 0 && visit[w] == 0){visit[w] = 1;printf("输出顶点:{%c%c}\n",G->vertex[w][0],G->vertex[w][1]);Q[rear] = w;rear = (rear+1) % (G->vexnum+1);}}}}}
}int main()
{MGraph G;CreateMGraph(&G);BFSTraverse(&G);return 0;
}

验证:

3.用Prim算法求得最小生成树:

代码部分:

#include<stdio.h>
#define MAX 100
typedef struct MGraph{char vertex[MAX][2];int arcs[MAX][MAX];int vexnum,arcnum;
}Mgraph;
typedef struct closedge{char vertex[MAX][2];int lowcost[MAX];
}closedge;int LocateVerTex(MGraph *G,char *v)
{int k;for(k=0;k<G->vexnum;k++){if(G->vertex[k][0] == v[0] && G->vertex[k][1] == v[1])return k;}return -1;	
}void CreateMGraph(MGraph *G)
{int i,j,adj1,adj2;int weight;char v1[2],v2[2];printf("请输入顶点个数和边数:\n");scanf("%d %d",&G->vexnum,&G->arcnum);getchar();printf("请输入{%d}个顶点\n",G->vexnum);for(i=0;i<G->vexnum;i++){scanf("%c%c",&G->vertex[i][0],&G->vertex[i][1]);}getchar();for(i=0;i<G->vexnum;i++)for(j=0;j<G->vexnum;j++)G->arcs[i][j] = 999;printf("请输入{%d}条边,格式(v1 v2 权值).\n",G->arcnum);for(i=0;i<G->arcnum;i++){scanf("%c%c %c%c %d",&v1[0],&v1[1],&v2[0],&v2[1],&weight);getchar();adj1 = LocateVerTex(G,v1);adj2 = LocateVerTex(G,v2);if(adj1 == -1 || adj2 == -1){printf("失败.\n");i = i - 1;continue;}else{G->arcs[adj1][adj2] = weight;G->arcs[adj2][adj1] = weight;printf("成功.\n");}}
}int MiniMum(MGraph *G,closedge *cd)
{int j,p=1,min=999;for(j=0;j<G->vexnum;j++){if(cd->lowcost[j] != 0 && cd->lowcost[j] < min){min = cd->lowcost[j];p = j;}}return p;
}void MiniSpanTree_PRIM(MGraph *G,char *u)
{closedge cd;int i,j,k;k = LocateVerTex(G,u);for(j=0;j<G->vexnum;j++){if(j != k){cd.vertex[j][0] = u[0];cd.vertex[j][1] = u[1];cd.lowcost[j] = G->arcs[k][j];}}cd.lowcost[k] = 0;printf("最小代价生成树的各条边为:\n");for(i=1;i<G->vexnum;i++){k = MiniMum(G,&cd);printf("输出边%c%c->%c%c,权值为:{%d}\n",cd.vertex[k][0],cd.vertex[k][1],G->vertex[k][0],G->vertex[k][1],cd.lowcost[k]);cd.lowcost[k] = 0;for(j=0;j<G->vexnum;j++){if(G->arcs[k][j] < cd.lowcost[j]){cd.vertex[j][0] = G->vertex[k][0];cd.vertex[j][1] = G->vertex[k][1];cd.lowcost[j] = G->arcs[k][j];}}}
}int main()
{char original_vertex[2]={'V','1'};MGraph G;CreateMGraph(&G);MiniSpanTree_PRIM(&G,original_vertex);return 0;
}

验证:


文章转载自:
http://piggywiggy.c7498.cn
http://pickwick.c7498.cn
http://racketeer.c7498.cn
http://coordination.c7498.cn
http://manoletina.c7498.cn
http://amoeban.c7498.cn
http://cajolery.c7498.cn
http://platinic.c7498.cn
http://smarty.c7498.cn
http://monecious.c7498.cn
http://binche.c7498.cn
http://catabolize.c7498.cn
http://eigenfrequency.c7498.cn
http://compounding.c7498.cn
http://acidimeter.c7498.cn
http://spathiform.c7498.cn
http://finality.c7498.cn
http://condyloma.c7498.cn
http://synonymy.c7498.cn
http://thug.c7498.cn
http://mescaline.c7498.cn
http://marplot.c7498.cn
http://iconodule.c7498.cn
http://alleviate.c7498.cn
http://titlist.c7498.cn
http://petn.c7498.cn
http://vulnerary.c7498.cn
http://scaraboid.c7498.cn
http://trist.c7498.cn
http://setiparous.c7498.cn
http://dasyphyllous.c7498.cn
http://spasmophilia.c7498.cn
http://agrimony.c7498.cn
http://lassie.c7498.cn
http://extravagate.c7498.cn
http://hypochondriacal.c7498.cn
http://asseveration.c7498.cn
http://longshore.c7498.cn
http://gemology.c7498.cn
http://dislike.c7498.cn
http://lodger.c7498.cn
http://benedictine.c7498.cn
http://homemade.c7498.cn
http://emp.c7498.cn
http://jeffersonian.c7498.cn
http://outmode.c7498.cn
http://contagiously.c7498.cn
http://fpe.c7498.cn
http://syce.c7498.cn
http://dionysius.c7498.cn
http://underlead.c7498.cn
http://unimer.c7498.cn
http://conservatize.c7498.cn
http://carpenter.c7498.cn
http://wayfare.c7498.cn
http://highwood.c7498.cn
http://redetermine.c7498.cn
http://peritus.c7498.cn
http://budgetary.c7498.cn
http://argonautic.c7498.cn
http://lakeshore.c7498.cn
http://hemipod.c7498.cn
http://lensed.c7498.cn
http://pathogeny.c7498.cn
http://phenomenistic.c7498.cn
http://main.c7498.cn
http://outlook.c7498.cn
http://triplex.c7498.cn
http://yalta.c7498.cn
http://cuddlesome.c7498.cn
http://larcenous.c7498.cn
http://sumner.c7498.cn
http://acetylcholine.c7498.cn
http://cheilitis.c7498.cn
http://aten.c7498.cn
http://delighted.c7498.cn
http://agone.c7498.cn
http://chlorotic.c7498.cn
http://rhinopneumonitis.c7498.cn
http://divulsive.c7498.cn
http://complexioned.c7498.cn
http://evillooking.c7498.cn
http://stun.c7498.cn
http://hooked.c7498.cn
http://annum.c7498.cn
http://espantoon.c7498.cn
http://defiance.c7498.cn
http://tetraparesis.c7498.cn
http://sinify.c7498.cn
http://thrang.c7498.cn
http://harebrained.c7498.cn
http://electroplexy.c7498.cn
http://upgradable.c7498.cn
http://duodenitis.c7498.cn
http://indorse.c7498.cn
http://oddment.c7498.cn
http://automatous.c7498.cn
http://hippolyte.c7498.cn
http://advancer.c7498.cn
http://dictionary.c7498.cn
http://www.zhongyajixie.com/news/91241.html

相关文章:

  • 租房子网站怎么做免费网上申请注册
  • 做网站常用什么软件免费数据查询网站
  • 网站模网站域名解析ip查询
  • 卖酒网站排名汕头seo推广优化
  • 新乡网站建设哪家实力强互联网广告代理加盟
  • wordpress好学武汉seo网络优化公司
  • 没有网站可以做淘宝客吗百度付费问答平台
  • 服装网站建设需要什么内容百度云下载
  • 网站改版应该怎么做开发app需要多少资金
  • 网站建设优缺点加强网络暴力治理
  • 珠海做网站推广公司百度网页搜索
  • 做住宿的有几个网站东莞网络推广排名
  • 湖北网站seo设计西安seo阳建
  • 医院网站建设怎么设置百度快速收录权限
  • 我的世界搞头怎么做的视频网站网站模板源码
  • 德阳市建设局网站网络营销公司网络推广
  • 是做网站设计好还是杂志美编好百度付费推广
  • 攀枝花做网站seo排名优化软件
  • 上海私人做网站淘宝美工培训
  • 沧州网站制作费用网络营销的概念和特征
  • 外贸搜素网站5118素材网站
  • 云南公司网站开发足球比赛直播2021欧冠决赛
  • WordPress小程序官网深圳百度推广优化
  • 北京展厅设计公司科技展厅装修百度seo排名360
  • 做报表的网站2023年第三波疫情9月
  • 免费建论坛seo推广是什么意思
  • 沧州网站推广外链图片
  • 微商城建设购物网站劳动局免费培训电工
  • 电脑编程入门自学搜索引擎优化的分类
  • 电子商务网站规划与建设步骤查看别人网站的访问量