#include #include #include #include using namespace std;#define MAX 100#define LENGTH(a) (sizeof(a) / sizeof(a[0]))int visited[MAX];typedef struct _gr...
分类:
编程语言 时间:
2015-02-20 10:53:33
阅读次数:
220
上一节中写了图的深度优先遍历,http://blog.csdn.net/wtyvhreal/article/details/43305785
这一节讲解下图的广度优先遍历。
同样的图:
广度优先遍历的顺序结果如下:
广度优先遍历的思想:
首先以一个未被访问过的顶点作为起始顶点,访问其所有相邻的顶点,然后对每个相邻的顶点,再访问他们相邻的未被访问过的顶点,直到所有顶...
分类:
其他好文 时间:
2015-01-30 15:59:52
阅读次数:
142
[本文是自己学习所做笔记,欢迎转载,但请注明出处:http://blog.csdn.net/jesson20121020]...
分类:
其他好文 时间:
2015-01-16 01:22:40
阅读次数:
422
DFS 从图中某个顶点V0 出发,访问此顶点,然后依次从V0的各个未被访问的邻接点出发深度优先搜索遍历图,直至图中所有和V0有路径相通的顶点都被访问到(使用堆栈). //使用邻接矩阵存储的无向图的深度优先遍历
template
void Graph::DFS()
{
stack iStack;
showVertex(0);
vertexList[0]->wasVi...
分类:
其他好文 时间:
2015-01-14 16:55:55
阅读次数:
204
编写完成重点数据结构和算法: 0.链表 1.栈 2.队列 3.二叉树数据结构和构建 4.前序中序后序遍历二叉树 5.构建哈夫曼树(最优二叉树) 6.图数据结构,图的深度优先遍历和广度优先遍历 7.拓扑排序 8.直接插入排序 9.希尔排序 10.希尔排序 11.冒泡排序 12.快速排序 13.直接选择...
分类:
其他好文 时间:
2015-01-07 01:50:00
阅读次数:
205
一、实验名称:图的遍历算法设计与实现二、实验目的:1.掌握图的深度优先遍历的算法。2.掌握图的广度优先遍历的算法。3.实验章节:算法设计与分析 第四章三、实验内容。实验问题和程序运行结果第一部分 广度优先遍历算法1. 分析Graph类,画出Graph类初始化以后的Graph对象的数据结构图。2. 分...
分类:
编程语言 时间:
2014-12-10 12:03:23
阅读次数:
210
以下面的图片为例题,仅给出源代码,不谈算法思想。
#include
#include
#include
#define MAX_VERTEX_NUM 20+3 //最大顶点数量
//#define true 1
//#define false 0
using namespace std;
typedef char VERTEX_TYPE; //顶点的类型
typedef struc...
分类:
其他好文 时间:
2014-10-05 12:07:48
阅读次数:
215
实验目的1. 掌握图的各种存储结构,特别要熟练掌握邻接矩阵和邻接表存储结构。2.遍历是图各种应用的算法的基础,要熟练掌握图的深度优先遍历和广度优先遍历算法,复习栈和队列的应用。实验内容程序1/* 定义邻接矩阵类型 */typedef int adjmatrix[n+1][n+1]; /* 建立图.....
分类:
其他好文 时间:
2014-09-09 10:55:58
阅读次数:
448
原理和方法可以参考: 图的深度优先遍历教科书上的C代码,递归: 1 //教科书方法,邻接表 2 bool visited[MAX]; 3 void visitFunc(int v); 4 5 void dfsTraverse(Graph G) 6 { 7 for(v = 0; v vis...
分类:
其他好文 时间:
2014-08-17 03:44:27
阅读次数:
243
深度优先搜索(DFS)是搜索算法的一种。最早接触DFS应该是在二叉树的遍历里面,二叉树的先序、中序和后序遍历实际上都属于深度优先遍历,实质就是深度优先搜索,后来在图的深度优先遍历中则看到了更纯正的深度优先搜索算法。
通常,我们将回溯法和DFS等同看待,可以用一个等式表示它们的关系:回溯法=DFS+剪枝。所以回溯法是DFS的延伸,其目的在于通过剪枝使得在深度优先搜索过程中如果满足了回...
分类:
其他好文 时间:
2014-07-08 20:34:20
阅读次数:
271