[프로그램 소스, 알고리즘, TSP, 동적할당]TSP 동적알고리즘으로 구현
- 최초 등록일
- 2006.07.30
- 최종 저작일
- 2006.07
- C언어
- 가격 1,500원
소개글
이 프로그램은 동적할당 알고리즘을 통해서
TSP알고리즘을 완벽하게 구현했습니다..
최대한 소스를 깔끔하게 작성하였으며, 어려운 부분은 명쾌한 주석처리를
했습니다. 그리고 테스트 케이스도 여럿 만들어놓았습니다.
컴파일 실행환경
VIsual C++ 6.0 , Windows XP에서 제작했으며
CUI화면을 통해 결과화면을 확인할수 있습니다
본문내용
#include <iostream>
#include <fstream>
#include <time.h>
#include <math.h>
using namespace std;
#define MAX 99 //999999999 // 4294967294 - 행렬 값들의 합
typedef unsigned int UINT;
UINT nodeCnt;
UINT edgeCnt;
UINT minLength = MAX;
UINT **W;
///// 새로 추가 되는 것..
UINT **D; // D[i][A] i번째 노드에서 A의 노드를 한번씩만 거쳐 v0에 가는 최소의 length
UINT **P; // P[i][A] vi 다음에 오는 노드 번호
// 숫자로 부분집합 크기 구하는 함수
UINT count(UINT subset)
{
UINT count = 0;
UINT i;
for(i = 0; i < nodeCnt -1; i ++)
if((subset >> i) & 1) count++;
return count;
}
bool isExist(UINT subset, UINT index)
{
index-=1;
if( (subset >> index) & 1 == 1) return true;
else return false;
}
// 해당 Vj에 해당되는 원소가 삭제된 부분집합를 표현하는 숫자 반환
UINT deletedVjSet(UINT subset, UINT j)
... 이하 생략
참고 자료
없음