DFS-深度优先搜索
baother0
这个作者很懒,什么都没留下…
展开
-
深度优先遍历
//深度优先遍历(depth_first_search)#include "stdio.h"#include "string.h"#include "stdlib.h"#define MAX_VERTEX_NUM 20//最大的顶点数 //边结点typedef struct Edge { struct Edge *next;//指向下一个边的指针 int in原创 2013-06-12 20:54:31 · 863 阅读 · 0 评论 -
走迷宫问题(求出所有的可能的解)
#include "stdio.h"#define MAX 25//限定处理的最大的行数和列数int Maze[MAX][MAX];int row;int col;typedef struct { int x; int y;}PosType;PosType end;void print (int (*a)[MAX]) { int i; int j;原创 2012-03-12 14:11:12 · 951 阅读 · 0 评论 -
一种新的走迷宫的方法
对于走迷宫,人们提出过很多计算机上的解法。深度优先搜索、广度优先搜索是使用最广的方法。下面的代码则采用了另一种不同的解法。它把走迷宫的过程比做“染色过程”。假设入口点被染为红色,它的颜色会“传染”给与它相邻的可走的单元。这个过程不断进行下去,如果最终出口点被染色,则迷宫有解。import java.util.*; public class Maze{ class Cell原创 2012-03-04 16:47:09 · 1438 阅读 · 0 评论 -
棋盘问题
Description在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C。Input输入含有多组测试数据。 每组数据的第一行是两个正整数,n k,用一个空格隔开,表示了将在一个n*n的矩阵内描述棋盘,以及摆放棋子的数目。 n 当为-原创 2013-11-18 15:53:15 · 672 阅读 · 0 评论