스택과 큐로 구현한 maze문제
- 최초 등록일
- 2010.07.22
- 최종 저작일
- 2010.07
- 25페이지/ 압축파일
- 가격 3,500원
소개글
이번 과제의 목표는 스택과 큐를 이용하여 미로찾기를 수행하고, 각각 시계방향과 반시계방향으로 수행했을 때 차이점을 토의하는 것이다.
즉, 시계방향으로 stack,queue를 이용해 탈출경로를 탐색하고 그 경로로 step수를 표시하고, 반시계방향으로 stack,queue를 이용해 탈출경로를 탐색하고 그 경로로 step수를 표시한후 각각의 차이점을 분석하여야한다.
목차
1.Introduction
2.Method & experiment
3.flow chart
4.analysis & result
5.Source code
본문내용
1.Introduction
이번 과제의 목표는 스택과 큐를 이용하여 미로찾기를 수행하고, 각각 시계방향과 반시계방향으로 수행했을 때 차이점을 토의하는 것이다.
즉, 시계방향으로 stack,queue를 이용해 탈출경로를 탐색하고 그 경로로 step수를 표시하고, 반시계방향으로 stack,queue를 이용해 탈출경로를 탐색하고 그 경로로 step수를 표시한후 각각의 차이점을 분석하여야한다.
2.Method & experiment
1-1) 조교님이 주신 자료에 나와있으므로 넘어가겠다.
1-2) stack의 pop, push path함수는 조교님이 주신자료와 수업자료에서 참고하여서 작성하였다. 우선 일정한 지도를 랜덤으로 생성하여 path함수로 보내주면 path함수 안에서 stack[0]에 시작주소를 넣어준다. 그다음 pop을 하여 현재위치를 변수로 넣어준 다음 move로 정해준 방향성을 따라 길을 검색한 그 칸에 mark를 해줌으로써 나중에 다시 찾지않도록하고, 방문하지 않은 경로일 경우 그 행과 열을 다음으로 갈 행렬로 하여 push를 하여줌으로써 경로를 찾아간다. 만약 경로를 찾으면 found에 1값을 저장하므로써 루프를 벗어나고 스택에 경로와 방향성이 저장되었으므로 이를 참고하여 경로를 표시하여 주었다. 경로를 표시하여 줄때는 시계방향으로 하여 move[0]에 북쪽을 지정하여주고 순서대로 북동,동,남동,남,남서,서,북서방향으로 탐색을 하였다. 그 다음 스택의 dir변수에 저장된 방향성을 참고하여 maze배열에 방향성을 저장하여주었다.
그후 if문을 사용하여 각각의 경우에 따라 방향성이 표시되도록 하였다.
참고 자료
없음
압축파일 내 파일목록
hw3_stack.c
hw3_stackcount.c
hw3_que.c
hw3_quecounter.c
hw3.hwp
step_2.JPG
maze.JPG
path.JPG
path_2.JPG
que.JPG
quecounter.JPG
quecounterfound.JPG
quefound.JPG
step.JPG
Thumbs.db