ÆÄÀÏ
ÇÁ¶óÀÓ(Prim), Å©·ç½ºÄÃ(Kruskal) ¾Ë°í¸®Áò ±¸Çö.hwp
 
[Size :
60 Kbyte
]
ºÐ·®   11 Page
°¡°Ý  1,000 ¿ø
ÀÚ·á¼³¸í
Çѹݵµ 20°³ Áö¿ªÀ» ±×·¡ÇÁ·Î ¸¸µé¾î ÇÁ¶óÀÓ(Prim), Å©·ç½ºÄÃ(Kruskal) ¾Ë°í¸®ÁòÀ¸·Î Minimum Spanning Tree¸¦ Ž»ö»öÇÏ´Â ÇÁ·Î±×·¥À» C·Î ±¸ÇöÇÏ¿´½À´Ï´Ù.
ÇØ¹ý°ú ÄÚµù³»¿ëÀÌ ÀÖÀ¸¸ç ÃÖ´ëÇÑ °£°áÇϰí ÀÌÇØÇϱ⠽±°Ô ÀÛ¼ºµÇ¾úÀ¸¸ç ÀÚ¼¼ÇÑ ÁÖ¼®ÀÌ ´Þ·ÁÀÖ½À´Ï´Ù.
±×·¡ÇÁÀÇ Å½»ö¹æ¹ýÀÎ Prim`s algorithm°ú Kruskal`s algorithmÀ» C·Î ±¸ÇöÇÏ¿´½À´Ï´Ù.
±¸Çö¿ø¸®¿Í ÀÌÆ²Å½»ö¹æ¹ýÀÌ ÀÚ¼¼ÇÏ ¼³¸íµÇ¾î ÀÖÀ¸¸ç Çѹݵµ Áöµµ¸¦ ¿¬°áÇÑ ±×·¡ÇÁ¸¦ ¹ÙÅÁÀ¸·Î Á¦À۵Ǿú½À´Ï´Ù(±×¸² Æ÷ÇÔ)
* GCC ÄÄÆÄÀÏ·¯¸¦ ±âÁØÀ¸·Î ÀÛ¼ºÇÏ¿´½À´Ï´Ù.
graph
¸ñÂ÷/Â÷·Ê
• Prim`s algorithmÀ¸·Î ãÀº Minimum Spanning Tree
1) ÇØ°á¹æ¹ý
2) ÄÚµù¸®½ºÆ® ¹× °á°ú
• Kruskal`s algorithmÀ¸·Î ãÀº Minimum Spanning Tree
1) ÇØ°á¹æ¹ý
2) ÄÚµù¸®½ºÆ® ¹× °á°ú
• Çѹݵµ 20°³ µµ½Ã »çÀÌÀÇ ¿¬°á°ü°è¿Í °Å¸®
• ¹è¿À» ÀÌ¿ëÇÏ¿© ³ëµå¿Í ¿§Áö(°¡ÁßÄ¡) Àû¿ë ¿¹
º»¹®/³»¿ë
1) ÇØ°á¹æ¹ý
- ±âº» ¿ø¸®
: ¸ðµç ³ëµå¸¦ Çѹø¾¿ °ÅÄ¡µÇ °¡Àå ªÀº °¡ÁßÄ¡¸¦ °®´Â ³ëµå¸¦ °ÅÄ£´Ù. ´Ü ½ÎÀÌŬÀ» ÀÌ·çÁö ¸»¾Æ¾ß ÇÑ´Ù.
- ¾Ë°í¸®Áò Ž»ö ¹æ¹ý
: ¿ì¼± °¡ÁßÄ¡°¡ °¡Àå ÀÛÀº ¿§Áö¸¦ ãÀº ÈÄ Prim`s ¾Ë°í¸®Áò¿¡ ÀÇÇÏ¿© Áö±Ý±îÁö °Ë»öµÈ ¸ðµç ³ëµå°¡ °¡Áö°í ÀÖ´Â ÀÎÁ¢³ëµå Áß °¡ÁßÄ¡°¡ °¡Àå ÀÛÀº ³ëµå¸¦ ã¾Æ ¿§Áö¸¦ ¿¬°áÇÑ´Ù. À̶§ »õ·Î¿î ³ëµå Á¢±Ù½Ã ÀÎÁ¢ÇÑ ³ëµå¸¦ ã¾Æ°¡¹Ç·Î ¸ðµç ³ëµå´Â ´Ü Çѹø¾¿¸¸ °Ë»öÀÌ µÇ´Âµ¥ ³ëµå¿¡ Á¢±ÙÀ» ÇÒ¶§¸¶´Ù Á¢±Ù»óŸ¦ Ç¥½ÃÇØ ÁÖ¸é °Ë»öÀÇ ¿Ï·á¸¦ `¸ðµç³ëµåÀÇ Á¢±ÙÀÌ ³¡³µÀ» ¶§` ·Î ÇØÁÙ ¼ö ÀÖ´Ù.
- ½ÎÀÌŬ °Ë»ç ¹æ¹ý
: ¸ðµç ³ëµåÀÇ °Ë»öÀº Çѹø¸¸ ÀÌ·ç¾î Áö¹Ç·Î »õ·Î¿î ÀÎÁ¢³ëµå°¡ ³»°¡ ÀÌ¹Ì °Ë»öÇÑ ³ëµåÀÌ¸é ½ÎÀÌŬÀ» ÀÌ·é´Ù.
2) ÄÚµù ¸®½ºÆ® ¹× makefileÀÇ ³»¿ë
¢Ñ ÄÚµù¸®½ºÆ®
#include
#define node 20
#define edge 24
void SpanningTree();
void prim();
void print_Min_edge(int a, int b);
void Print_Edge(int a);
int E[node][node];
int freeE[node];
int alink, blink, min_eg=1000, sum=0;
int main(){
int i, j;
for(i=0;i
freeE[i]=0;
for(j=i+1;j¡¦(»ý·«)