• 파일시티 이벤트
  • LF몰 이벤트
  • 캠퍼스북
  • 서울좀비 이벤트
  • 탑툰 이벤트
  • 닥터피엘 이벤트
  • 아이템베이 이벤트
  • 아이템매니아 이벤트

[C언어]8퍼즐소스입니다. A* 알고리즘 이용 (C언어)

*강*
최초 등록일
2005.11.22
최종 저작일
2005.11
3페이지/파일확장자 압축파일
가격 2,000원 할인쿠폰받기
다운로드
장바구니

소개글

A* 알고리즘을 이용하여 작성한 8퍼즐 소스입니다.

소스에서 주석 처리로 초기 값을 랜덤으로도 가능하게 해 놓았습니다.

랜덤으로 생성시 해가 없는 숫자가 배열될 수 있습니다.
ex) {(2,1,3),(4,5,6),(7,8,0)} 이런 경우 모든 경우를 검색해 보아야지만 검색에 실패했음을 알수 있습니다.

모든경우의 수는 30만 이상으로 시간이 너무 오래 걸릴경우 open, close, 확장노드의 출력 부를 지워주시면 실행 결과 시간을 단축 시킬수 있습니다.

open과 close의 값들은 그냥 간단히 평가 점수를 넣어 주었습니다.
(단지 open,close에 값들이 잘 들어가나 확인용으로 구현한것임.)

동봉된 파일은 소프파일, 연산자코드, 알고리즘이 들어있습니다.

컴파일 실행환경

비주얼스튜디어6.0에서 구현 실행 했습니다.

본문내용

typedef struct _8X_PUZZLE{ // 8퍼즐 구조체 선언
int state[3][3]; // 상태 표시
int fn; // 평가 점수( f`(n) = g(n) + h`(n) )
struct _8X_PUZZLE* next; // 다음 노드
struct _8X_PUZZLE* parent; // 부모 노드
// struct _CHILD_TREE* tree; // 자식 노드 위한 child_tree 가르키는
}Puzzle, Child, Open, Close;

//typedef struct _CHILD_TREE{
// struct _CHILD_TREE* next; // 다음 노드
// struct _8X_PUZZLE* child; // 자식 노드
//}Child_tree;

//------------------------------------------------------------------

void initial_node_create(); // 초기 노드 생성
void append_open(); // open에 원소르 추가
void append_close(); // close에 원소를 추가
void delete_open_node(); // open에서 원소 제거
bool give_expansible(); // 확장한 노드의 원소를 가져옴
bool is_goal(); // 목표값인가 확인
bool is_expansible(); // 확장가능한가?
bool exist_open(); // 확장노드가 open에 존재하는가?
bool exist_close(); // 확장노드가 close에 존재하는가?
void print_path(); // 경로 출력
void free_memory(); // 메모리 반환
void SWAP(int& x, int& y); // 위치 변경

void main(){ // main()
initial_node_create(); // 초기 노드 생성
while(1){
Open* op = start_op;
if(start_op){ // open에 원소가 남았나 확인
printf("nopen :");
while(op){ // open의 원소의 평가점수 출력
printf("%d ",op->fn);
op = op->next;
}
//-----------------------------------------------------------------
void free_memory(){ // 전체 활당된 메모리 반환
_8X_PUZZLE* del = NULL;

Puzzle* ptr = start_ptr;
while(ptr){ // ptr 메모리 반환
del = ptr;
ptr = ptr->next;
free(del);
//-----------------

압축파일 내 파일목록

8X_puzzle.cpp
8X_puzzle_97.hwp
8X_puzzle_2005.hwp

참고 자료

없음

자료후기(3)

*강*
판매자 유형Bronze개인

주의사항

저작권 자료의 정보 및 내용의 진실성에 대하여 해피캠퍼스는 보증하지 않으며, 해당 정보 및 게시물 저작권과 기타 법적 책임은 자료 등록자에게 있습니다.
자료 및 게시물 내용의 불법적 이용, 무단 전재∙배포는 금지되어 있습니다.
저작권침해, 명예훼손 등 분쟁 요소 발견 시 고객센터의 저작권침해 신고센터를 이용해 주시기 바랍니다.
환불정책

해피캠퍼스는 구매자와 판매자 모두가 만족하는 서비스가 되도록 노력하고 있으며, 아래의 4가지 자료환불 조건을 꼭 확인해주시기 바랍니다.

파일오류 중복자료 저작권 없음 설명과 실제 내용 불일치
파일의 다운로드가 제대로 되지 않거나 파일형식에 맞는 프로그램으로 정상 작동하지 않는 경우 다른 자료와 70% 이상 내용이 일치하는 경우 (중복임을 확인할 수 있는 근거 필요함) 인터넷의 다른 사이트, 연구기관, 학교, 서적 등의 자료를 도용한 경우 자료의 설명과 실제 자료의 내용이 일치하지 않는 경우
최근 본 자료더보기
탑툰 이벤트
[C언어]8퍼즐소스입니다. A* 알고리즘 이용 (C언어)
  • 레이어 팝업
  • 레이어 팝업
  • 레이어 팝업