소개글
미로 찾기 알고리즘 두 번째 방법 소스 및 실행결과
목차
- 알고리즘 코딩 -
- 결과 출력 -
본문내용
※ DFS : 깊이 우선 탐색 <depth first search>
그래프 탐색 방법 중의 하나로서 한 정점을 방문한 후에 그에 인접하고 아직 방문하지 않은 한 정점을 선택하여 이로부터 다시 위 과정을 반복하는 방법인 DFS 방법을 사용하여 모든 길을 방문하게 하여 미로의 출구를 찾도록 알고리즘을 코딩하였습니다.
- 알고리즘 코딩 -
#include <stdio.h>
#include <string.h>
#include <malloc.h>
#define MAX_STACK_SIZE 100
#define MAZE_SIZE 6
typedef struct{
short i;
short j;
}element;
typedef struct{
element stack[MAX_STACK_SIZE];
int top;
}StackType;
element entry = {1,0};
char maze[MAZE_SIZE][MAZE_SIZE] = {
{`1`,`1`,`1`,`1`,`1`,`1`},
{`m`,`0`,`1`,`0`,`0`,`1`},
{`1`,`0`,`1`,`0`,`0`,`1`},
{`1`,`0`,`1`,`0`,`0`,`1`},
{`1`,`0`,`0`,`0`,`0`,`x`},
{`1`,`1`,`1`,`1`,`1`,`1`}}
void init(StackType *); // 스택 초기화
int is_empty(StackType *); // 스택이 비었는지를 검사
int is_full(StackType *); // 스택이 가득찼는지 검사
voidpush(StackType *, element); // 스택 삽입
element pop(StackType *); // 스택 삭제
void push_loc(StackType *, int, int);
참고 자료
없음