<html>
<head>
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.8.0/styles/railscasts.min.css">
[removed][removed]
[removed]hljs.initHighlightingOnLoad();[removed]
<title>하이라이팅 먹히나?</title>
</head>
<body>
< pre>//
// main2.c
// Dijkstra
//
// Created by on 2015. 10. 15..
// Copyright © 2015년 . All rights reserved.
//
#include
#define MAX_VERTEX 5
#define UC 9999 // Unconnected
#define BOOL int
#define TRUE 1
#define FALSE 0
/*
* IsVisited : 방문했는가?
* Parent : Parent 노드
* Distance : Start point 로부터의 거리
*/
typedef struct tagVertex{
BOOL isVisited;
int Parent;
int Distance;
}Vertex;
//Sample
int Data[MAX_VERTEX+1][MAX_VERTEX+1] = {
//1 2 3 4 5
{ 0, 0, 0, 0, 0, 0},
/*1*/{ 0, 0, 2, 4,UC,UC},
/*2*/{ 0, 2, 0, 1, 3,UC},
/*3*/{ 0, 4, 1, 0,UC, 2},
/*4*/{ 0,UC, 3,UC, 0, 1},
/*5*/{ 0,UC,UC, 2, 1, 0}
};
Vertex Varr[MAX_VERTEX];
// print Table
void print( ){
int i = 0;
printf("V\tP\tD\tVisit\n");
for ( i = 1; i < MAX_VERTEX+1; i++ ) {
printf("%d\t%d\t%d\t%s\n", i, Varr[i].Parent, Varr[i].Distance, Varr[i].isVisited==TRUE?"TRUE":"FALSE");
}
puts("");
}
int main( )
{
int Start = 0;
int End = 0;
int minIndex = 0;
int minVal = 9999;
int i = 0;
int j = 0;
printf("시작과 끝?\n");
Start = 1; End = 5;
// Initialize.
for ( i = 1; i < MAX_VERTEX+1 ; i++ ) {
Varr[i].isVisited = FALSE;
Varr[i].Parent = Start;
if(Data[Start][i]!=UC)
Varr[i].Distance = Data[Start][i];
else
Varr[i].Distance = UC;
}
print();
Varr[Start].Distance = 0;
// Dijkstra
for ( i = Start;i < MAX_VERTEX+1; i++ ) {
minVal = 9999;
for ( j = 1; j < MAX_VERTEX+1; j++ ) {
if( !Varr[j].isVisited && Varr[j].Distance != UC )
{
if ( Varr[j].Distance < minVal )
{
minVal = Varr[j].Distance;
minIndex = j;
}
}
}
// Vertex Select
Varr[minIndex].isVisited = TRUE;
for ( j = 1; j < MAX_VERTEX+1; j++ ) {
if( !Varr[j].isVisited && Data[minIndex][j] != UC && Data[minIndex][j] != 0 ){
if (Data[Varr[j].Parent][j] > Varr[minIndex].Distance + Data[minIndex][j]) {
Varr[j].Distance = Varr[minIndex].Distance + Data[minIndex][j];
Varr[j].Parent = minIndex;
}
}
}
print();
getchar();
}
}
</body>
다익스트라 최단경로 짜봤샘
뇌지랄(nathan)
2015-10-16 14:51
추천 0
댓글 10
다른 게시글
-
앀발 페이스북 개발자 페이지 존나 거지같네.. [3]dsd(59.28) | 15.10.16추천 0
-
리눅스질문 [4]ㄴㄴ(121.165) | 15.10.16추천 1
-
리버스엔지니어링 용어 질문좀~~ [1]q3(116.34) | 15.10.16추천 0
-
sqa에 전공은 개뿔? [1]Nano-(skill2) | 15.10.16추천 0
-
배열의 시작 주소는 변경 할 수 있다? 없다? [4]배열(218.232) | 15.10.16추천 0
-
자바문법 하고 안드로이드 문법 하고는 다른거야 [3]익명(211.234) | 15.10.16추천 0
-
R studio 여기서 물어봐도되나요 [3]DDongGGoki..(kyn1987) | 15.10.16추천 0
-
밥은 먹고해야지~♡밥먹고해라~♡ [1]encoder(encoder) | 15.10.16추천 0
-
아래 파일순간검색 프로그램 [6]WaitFor(119.195) | 15.10.16추천 0
-
알고리즘 c++로 하는 이유가 뭐임?? [3]dd(211.230) | 15.10.16추천 0
?? 하이라이팅 왜안대?..
나가
html 태그 막힌지오래됨
ㅅㅂ..
그럼 코드 어덯게올려?
올리지마 걍 이걸 왜 올려
개객기
ideone이나 pastebin
링크거는 법 밖엔 없는거지?
ㅋㅋㅋ