为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

5深度优先算法

2017-09-27 9页 doc 44KB 27阅读

用户头像

is_589748

暂无简介

举报
5深度优先算法5深度优先算法 计算机算法的设计与分析实验报告 ——深度优先遍历 一、算法 基本思路 1、在每个阶段的决策时,采取能深则深的原则试探所有可行的方案,一旦 深入一层则保存当前操作引起的状态。 2、一旦试探失败,为了摆脱当前失败状态,采取回到上一阶段尝试下一方 案的策略(回溯策略);或者在求解所有解时,求得一个解后,回溯到上一阶段 尝试下一方案,以求解下一个解。 3、在各个阶段尝试方案时,采取的是穷举的思想。 二、代码 #include "stdafx.h" #include//构造有向图p162 #i...
5深度优先算法
5深度优先算法 计算机算法的与分析实验报告 ——深度优先遍历 一、算法 基本思路 1、在每个阶段的决策时,采取能深则深的原则试探所有可行的,一旦 深入一层则保存当前操作引起的状态。 2、一旦试探失败,为了摆脱当前失败状态,采取回到上一阶段尝试下一方 案的策略(回溯策略);或者在求解所有解时,求得一个解后,回溯到上一阶段 尝试下一方案,以求解下一个解。 3、在各个阶段尝试方案时,采取的是穷举的思想。 二、代码 #include "stdafx.h" #include//构造有向图p162 #include #include #define INFINITY 10000//最大值,无穷 #define MAX_VERTEX_NUM 20//最大顶点个数,即可以计算的最大规模 typedef struct ArcCell { float adj;//无权图为1或0,有权图为权重 char info[30];//该弧相关信息 }ArcCell,AdjMatrix[MAX_VERTEX_NUM][MAX_VERTEX_NUM]; typedef struct { char vexs[MAX_VERTEX_NUM][20];//顶点向量,如v1,v2,...等 AdjMatrix arcs; int vexnum,arcnum; }MGraph; //char temp[100][20];//作成全局变量 int LocateVex(MGraph G,char *v) { int i,num=-1; for(i=0;i>direct; cout<<"各顶点无信息则输入数字0,有信息输入其他数字."<>IncInfo; cout<<"请输入顶点和弧数目:"<>G.vexnum>>G.arcnum; cout<<"请输入"<>p;//注意vexs[MAX_VERTEX_NUM]中的MAX_VERTEX_NUM大于G.vexnum } for(i=0;i>p; i=LocateVex(G,p); cout<<"接受点:"; p=v[1]; cin>>p; j=LocateVex(G,p); cout<<"权重:"; cin>>w;//输入格式: v1 v2 18 cout<<"i="<>p; } if(direct!=1) G.arcs[j][i]=G.arcs[i][j]; } cout<<"顶点数是:"<=0;w=NextAdjVex(G,v,w)) if(!visited[w]) DFS(G,w); } void DFSTraverse(MGraph G) { int v,i; ///////////////// for(i=0;i
/
本文档为【5深度优先算法】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索