C코드로 구현한 Dijkstra의 shortest distance를 구하는 algorithm
- 최초 등록일
- 2011.10.31
- 최종 저작일
- 2011.11
- 13페이지/ 압축파일
- 가격 10,000원
소개글
C코드로 구현한 Dijkstra의 shortest distance를 구하는 algorithm의 소스코드와
알고리즘이 어떻게 작동 방법을 설명하는 내용의 보고서입니다.
컴파일 실행환경
Microsoft Visual Studio 2010 (C++)
본문내용
소스코드 : dijkstra.c
#include <stdio.h>
#include <stdlib.h>
#define MAX 100000//무한대 값
#define NodeNum 8//노드의 개수
int q[8] = { 0, }; //마지막 노드 도착 바로 전 노드
int d[8];//최단 거리
int c[8] = { 0, };//최단 거리를 구하였는지 체크하는 노드 1이면 도착
int v=0;//현재 위치 노드 번호
void init(void);//초기화
void dis(int a[NodeNum][NodeNum]);//다이스트라 알고리즘
void print_path(void);//경로 출력 함수
int main(void)
{
FILE *fp;
int arr[NodeNum][NodeNum] = { 0, };
int i, k, n, m;
fp = fopen("Dijkstra.txt", "rt");//Dijkstra.txt 파일로부터 그래프를 행렬로 입력받습니다.
if ( fp == NULL )
{
printf("파일이 열리지 않았습니다n");
exit(1);
}
fscanf(fp, "%d", &i);//i번 만큼 반복될 숫자를 파일로부터 입력받는다.
for(k=0; k<i; k++)
{
fscanf(fp, "%d", &n);
fscanf(fp, "%d", &m);
fscanf(fp, "%d", &arr[n-1][m-1]);
}
dis(arr);//다이스트라 알고리즘으로 최단경로 구하기
압축파일 내 파일목록
보고서/Dijkstra 알고리즘을 이용한 최단경로 출력.hwp
프로그램/dijkstra/dijkstra.c
프로그램/dijkstra/dijkstra.sln
프로그램/dijkstra/dijkstra.suo
프로그램/dijkstra/Dijkstra.txt
프로그램/dijkstra/dijkstra.vcxproj
프로그램/dijkstra/dijkstra.vcxproj.filters
프로그램/dijkstra/dijkstra.vcxproj.user
참고 자료
한빛미디어/문병로 저/쉽게 배우는 알고리즘 - 관계 중심의 사고법