°¢°¢ÀÇ ´ÜÀ§ Á¤º¸¸¦ ¸µÅ©·Î ¿¬°áÇÏ¿© ±¸Á¶È½ÃŲ ÀÚ·á ±¸Á¶¸¦ ±×·¡ÇÁ¶ó ÇÑ´Ù.

ÀÌ ±×¸²Àº °¢ µµ½Ã¸¦ Ç¥ÇöÇÏ´Â ´ÜÀ§ ³ëµåµéÀ» ¸µÅ©·Î ¿¬°áÇÑ °ÍÀÌ´Ù. ¸µÅ©´Â
µÎ°³ÀÇ ³ëµå¸¦ ¿¬°áÇÏ¿© ¸µÅ©ÀÇ ¾ç³¡ ³ëµå°¡ ¼·Î ƯÁ¤ÇÑ °ü°è¸¦ °¡Áö°í ÀÖÀ½À» ³ªÅ¸³½´Ù.
¿©±â¼ÀÇ ¸µÅ©´Â µÎ µµ½Ã¸¦ ¿¬°áÇÏ´Â µµ·Î°¡ ÀÖÀ½À» Ç¥ÇöÇØÁØ´Ù.
±×·¡ÇÁ¿¡¼
³ëµå´Â "vertex", ¸µÅ©´Â "edge"¶ó ÇÑ´Ù.
ÇϳªÀÇ ±×·¡ÇÁ´Â
´ÙÀ½°ú °°ÀÌ vertex¿Í edgeÀÇ ÁýÇÕÀ¸·Î Á¤ÀÇÇÒ ¼ö ÀÖ´Ù.
G=(V,E) , V= vertexÁýÇÕ
, E= edgeÁýÇÕ
- ¹«Çâ ±×·¡ÇÁ (undirected graph)
- À¯Çâ ±×·¡ÇÁ (directed graph)
- ¿ÏÀü ±×·¡ÇÁ (complete graph)
- ÀÎÁ¢¼º (Adjacency)
- °æ·Î (path)¿Í ¼øÈ¯ (cycle)
- ¿¬°á¼º (connectivity)
- edge¿¡ ¹æÇ⼺ÀÌ ¾ø¾î¼ ¿¬°áµÈ vertexµéÀÇ ¼ø¼°¡ Á¤ÇØÁöÁö ¾ÊÀº ±×·¡ÇÁ¸¦
¸»ÇÑ´Ù.
¹«Çâ ±×·¡ÇÁÀÇ edge´Â vertex½ÖÀ» °ýÈ£·Î ¹¾î Ç¥ÇöÇÑ´Ù.
(¿¹) E={(A,B),(A,C),(A,D),(B,C),(B,D),(C,D)}
¹«Çâ ±×·¡ÇÁ´Â ½Ç¼±À¸·Î
edge¸¦ Ç¥ÇöÇÑ´Ù.

<¹«Çâ ±×·¡ÇÁÀÇ ¿¹>
- edge¿¡ ¹æÇ⼺ÀÌ ÀÖ¾î¼ ¿¬°áµÈ vertexµéÀÇ ¼ø¼°¡ Á¤ÇØÁø ±×·¡ÇÁ¸¦ ¸»ÇÑ´Ù.
À¯Çâ ±×·¡ÇÁÀÇ edge´Â vertex½ÖÀ» °¢°ýÈ£·Î ¹¾î Ç¥ÇöÇÑ´Ù.
(¿¹) E={(A,
B), (B, D), (D, C), (C, A)}
À¯Çâ ±×·¡ÇÁ´Â È»ìÇ¥·Î edgeÀÇ ¹æÇâÀ» Ç¥½ÃÇÑ´Ù.

<À¯Çâ ±×·¡ÇÁÀÇ ¿¹>
- ¸ðµç vertex½ÖÀ» ¿¬°áÇÏ´Â edge°¡ Á¸ÀçÇÏ´Â ±×·¡ÇÁ¸¦ ¸»ÇÑ´Ù.
¿ÏÀü
±×·¡ÇÁ´Â °°Àº ¼öÀÇ vertex¸¦ °¡Áö´Â ±×·¡ÇÁµé Áß¿¡¼ °¡Àå ¸¹Àº edge¸¦ °¡Áø´Ù.
¿ÏÀü ±×·¡ÇÁÀÇ edge¼ö = n(n-1) /2 , n = vertex¼ö

<¿ÏÀü ±×·¡ÇÁÀÇ ¿¹>
- ¹«Çâ ±×·¡ÇÁÀÇ ÀÎÁ¢¼º
- µÎ°³ÀÇ vertex°¡ edge·Î ¿¬°áµÇ¾î ÀÖÀ¸¸é "ÀÎÁ¢ÇØ ÀÖ´Ù"¶ó°í
ÇÑ´Ù.
- À¯Çâ ±×·¡ÇÁÀÇ ÀÎÁ¢¼º
- µÎ°³ÀÇ vertex°¡ edge·Î ¿¬°áµÇ¾î ÀÖÀ»¶§,edgeÀÇ ¹æÇâ¿¡ µû¶ó "~·Î
ÀÎÁ¢ÇØÀÖ´Ù", "~·ÎºÎÅÍ ÀÎÁ¢ÇØ ÀÖ´Ù"¶ó°í ÇÑ´Ù.
A´Â B·Î ÀÎÁ¢ÇØ ÀÖ´Ù.
B´Â A·ÎºÎÅÍ ÀÎÁ¢ÇØ ÀÖ´Ù.
- ±×·¡ÇÁ ³»¿¡¼ ƯÁ¤ vertex Vi·ÎºÎÅÍ Vj±îÁö edgeÀÇ sequence¸¦ °æ·Î¶ó ÇÑ´Ù.
- ¹«Çâ ±×·¡ÇÁÀÇ °æ·Î(¹«Çâ °æ·Î): A-F-E-G-D
- À¯Çâ ±×·¡ÇÁÀÇ °æ·Î(À¯Çâ °æ·Î): A-B-E-F-G-D
- °æ·ÎÀÇ ±æÀÌ = °æ·Î ³»ÀÇ ÃÑ edge¼ö
- ´Ü¼ø °æ·Î : ±×·¡ÇÁ ³»ÀÇ ¸ðµç vertex¸¦ Áö³ª´Â °æ·Î: A-B-E-F-G-D-C
- ¼øÈ¯(cycle) : ½ÃÀÛÁ¡°ú ³¡Á¡ÀÌ ¿¬°áµÈ °æ·Î: A-F-G-D-C-B

- ¹«Çâ ±×·¡ÇÁ¿¡¼ ¸ðµç vertex½Ö¿¡ ´ëÇØ °æ·Î°¡ Á¸ÀçÇÏ¸é ±× ±×·¡ÇÁ´Â "¿¬°áµÇ¾ú´Ù"¶ó°í
ÇÑ´Ù.
- ¼ºê±×·¡ÇÁ(subgraph)
- ±×·¡ÇÁ G¿Í G'ÀÌ ÀÖÀ»¶§ G'ÀÇ ¸ðµç vertex°¡ GÀÇ vertexÁýÇÕ¿¡ Æ÷ÇԵǰí
G'ÀÇ ¸ðµç edge°¡ GÀÇ edgeÁýÇÕ¿¡ Æ÷ÇԵǸé G'À» GÀÇ ¼ºê±×·¡ÇÁ¶ó ÇÑ´Ù.
- ¿¬°á ¼ººÐ(connected component)
- ÇÑ ±×·¡ÇÁ³»¿¡¼ ÃÖ´ë·Î ¿¬°áµÇ¾î ÀÖ´Â ¼ºê ±×·¡ÇÁ¸¦ ¿¬°á ¼ººÐÀ̶ó
ÇÑ´Ù.

À§ ±×¸²ÀÇ ±×·¡ÇÁ´Â ¿¬°áµÇÁö ¾ÊÀº ±×·¡ÇÁ·Î¼ 2°³ÀÇ ¿¬°á¼ººÐ H1°ú H2¸¦
°¡Áø´Ù.
- Â÷¼ö(degree)
- ¹«Çâ±×·¡ÇÁ¿¡¼ÀÇ Â÷¼ö
- ÇÑ vertex¿¡ ¿¬°áµÈ edgeÀÇ ¼ö
- À¯Çâ±×·¡ÇÁ¿¡¼ÀÇ Â÷¼ö
- ÀÎÀÔÄ¡¼ö(in-degree) : ÇÑ vertex·Î µé¾î¿À´Â edgeÀÇ ¼ö
- ÀÎÃâÄ¡¼ö(out-degree) : ÇÑ vertex·ÎºÎÅÍ ³ª°¡´Â edgeÀÇ ¼ö
ÀÎÁ¢ Çà·Ä(adjacency matrix)
°¢ vertexµé°£ÀÇ ¿¬°áÀ» Çà·Ä·Î Ç¥ÇöÇÑ °ÍÀÌ´Ù. ÀÎÁ¢ Çà·Ä MÀº n x n Á¤¹æÇà·Ä·Î¼
nÀº ±×·¡ÇÁ³»ÀÇ vertex¼öÀÌ´Ù. Çà·ÄÀÇ (i,j)¿ø¼Ò Aij°¡ 1À̸é vertex Vi¿Í Vj°¡ ÀÎÁ¢ÇØ
ÀÖ´Â °ÍÀ̰í, Aij°¡ 0À̸é Vi¿Í Vj´Â ÀÎÁ¢ÇÏÁö ¾ÊÀº °ÍÀÌ´Ù.
- ÀÎÁ¢ Çà·ÄÀÇ ¹®Á¦Á¡
- ÀÎÁ¢ Çà·Ä·Î´Â n(n-1)°³ÀÇ edge¸¦ Ç¥ÇöÇÒ ¼ö ÀÖ´Ù. ±×·¯³ª ½ÇÁ¦·Î ±×·¡ÇÁ³»ÀÇ
edge¼ö´Â À̺¸´Ù ÈξÀ Àû±â ¶§¹®¿¡ ´ëºÎºÐÀÇ Çà·Ä¿ø¼Ò´Â 0ÀÇ °ªÀ» °¡Áø´Ù. µû¶ó¼
¿ÏÀü ±×·¡ÇÁó·³ edge°¡ ¸¹Àº °æ¿ì¸¦ Á¦¿ÜÇϰí´Â »ó´ç·®ÀÇ ±â¾ïÀå¼Ò°¡ ³¶ºñµÇ´Â
¹®Á¦°¡ ÀÖ´Ù. ÀÌ·¯ÇÑ ¹®Á¦¸¦ ÇØ°áÇϱâ À§ÇØ ÀÎÁ¢ ¸®½ºÆ®¸¦ »ç¿ëÇÑ´Ù.
ÀÎÁ¢ ¸®½ºÆ®(adjacency
list)
°¢°¢ÀÇ vertex¿¡ ´ëÇØ ÀÎÁ¢ÇÑ vertexµéÀ» ¿¬°á ¸®½ºÆ®·Î Ç¥ÇöÇÑ °ÍÀÌ ÀÎÁ¢ ¸®½ºÆ®ÀÌ´Ù.
ÀÎÁ¢ ¸®½ºÆ®¿¡´Â n°³ÀÇ ¿¬°á ¸®½ºÆ®°¡ Á¸ÀçÇÏ´Â µ¥ ¿©±â¼ nÀº ±×·¡ÇÁ³»ÀÇ vertex¼öÀÌ´Ù.
¾î¶² ¸®½ºÆ®³»¿¡ vertexÀÇ ³ëµå°¡ µé¾îÀÖÀ¸¸é ±× vertexµéÀº ¿¬°áµÈ °ÍÀ̰í, µé¾îÀÖÁö
¾ÊÀ¸¸é ¿¬°áµÇÁö ¾ÊÀº °ÍÀÌ´Ù.
- ÀÎÁ¢ ¸®½ºÆ®ÀÇ ÀåÁ¡
- ÀÎÁ¢ ¸®½ºÆ®´Â ¿¬°áµÈ vertexµé¸¸ ¸®½ºÆ®·Î °ü¸®Çϱ⠶§¹®¿¡ ÀÎÁ¢ Çà·ÄÀ»
»ç¿ëÇÏ´Â °æ¿ìó·³ ºñ¿¬°á vertex¸¦ Ç¥ÇöÇϱâ À§ÇØ ±â¾ïÀå¼Ò¸¦ ³¶ºñÇÏÁö ¾Ê´Â´Ù.
- ÀÎÁ¢ ¸®½ºÆ®ÀÇ ´ÜÁ¡
- ÀÎÁ¢ ¸®½ºÆ®´Â ÇϳªÀÇ ¿¬°áÀ» Ç¥½ÃÇϱâ À§ÇØ vertexi Á¤º¸»Ó ¾Æ´Ï¶ó ¸µÅ©
Á¤º¸±îÁö »ç¿ëµÇ¹Ç·Î edgeÀÇ ¼ö°¡ »ó´ëÀûÀ¸·Î ¸¹Àº °æ¿ì ÀÎÁ¢Çà·ÄÀ» »ç¿ëÇÒ ¶§º¸´Ù
±â¾ïÀå¼Ò ³¶ºñ°¡ ½ÉÇØÁú ¼öÀÖ´Ù.
±íÀÌ ¿ì¼± Ž»ö (depth
first search:DFS)
- ƯÁ¤ vertex¸¦ ½ÃÁ¡À¸·Î ¼±ÅÃÇÑ´Ù.
- ¼±ÅÃµÈ vertex¿¡ "¹æ¹®"Ç¥½Ã¸¦ ÇÑ´Ù.
- ¼±ÅÃµÈ vertex¿¡ ¿¬°áµÈ ¿©·¯ vertexµéÀ» °Ë»çÇÑ´Ù.
- °Ë»çÇÑ vertexµé Áß¿¡ ¾ÆÁ÷ ¹æ¹®ÇÏÁö ¾ÊÀº vertex°¡ ÀÖÀ¸¸é ±× vertex¸¦
»õ·Ó°Ô ¼±ÅÃÇÏ°í ¿ø·¡ vertex´Â ½ºÅÿ¡ ³Ö´Â´Ù.
- °Ë»çÇÑ vertexµé Áß¿¡ ¹æ¹®ÇÏÁö ¾ÊÀº vertex°¡ Çϳªµµ ¾øÀ¸¸é ÃÖÁ¾ÀûÀ¸·Î
»ðÀÔµÈ vertex¸¦ ²¨³»¼ »õ·Ó°Ô ¼±ÅÃÇÑ´Ù.
- stackÀÌ ºô ¶§±îÁö 2-5ÀÇ °úÁ¤À» ¹Ýº¹ÇÑ´Ù.
1-6ÀÇ °úÁ¤ÀÌ ³¡³ª¸é ¸ðµç vertexµéÀ» Çѹø¾¿ ¹æ¹®ÇÏ°Ô µÈ´Ù.
³Êºñ ¿ì¼± Ž»ö (breadth
first search)
- ƯÁ¤ vertex¸¦ ½ÃÀÛÁ¡À¸·Î ¼±ÅÃÇÑ´Ù.
- ¼±ÅÃµÈ vertex¿¡ "¹æ¹®" Ç¥½Ã¸¦ ÇÑ´Ù.
- ¼±ÅÃµÈ vertex¿¡ ¿¬°áµÈ ¿©·¯ vertexµéÀ» °Ë»çÇÏ¿© ¹Ì¹æ¹® vertexµéÀ» Å¥¿¡ ³Ö´Â´Ù.
- Å¥ÀÇ front¿¡¼ ÇϳªÀÇ vertex¸¦ ²¨³»¾î »õ·Ó°Ô ¼±ÅÃÇÑ´Ù.
- Å¥°¡ ºô ¶§±îÁö 2-4ÀÇ °úÁ¤À» ¹Ýº¹ÇÑ´Ù.
1-5ÀÇ °úÁ¤À» ³¡³»¸é ¸ðµç vertexµéÀ» Çѹø¾¿ ¹æ¹®ÇÏ°Ô µÈ´Ù.
½ºÆÐ´×
Æ®¸®ÀÇ Á¤ÀÇ
ÃÖ¼Òºñ¿ë
½ºÆÐ´× Æ®¸®ÀÇ ¼ºÁú
ÃÖ¼Òºñ¿ë
½ºÆÐ´× Æ®¸®ÀÇ ±¸¼º¹æ¹ý
KruskalÀÇ
¹æ¹ý
PrimÀÇ ¹æ¹ý
sollinÀÇ
¹æ¹ý
ƯÁ¤ ±×·¡ÇÁ GÀÇ ¼ºê±×·¡ÇÁ Áß¿¡¼ GÀÇ ¸ðµç vertex¸¦ ¿¬°áÇÏ´Â Æ®¸®¸¦ ½ºÆÐ´×
Æ®¸®¶ó ÇÑ´Ù.

±íÀÌ ¿ì¼± Ž»öÀÇ °á°ú·Î ½ºÆÐ´× Æ®¸®°¡ ¸¸µé¾îÁö´Âµ¥ À̰ÍÀ» ±íÀÌ ¿ì¼± ½ºÆÐ´×
Æ®¸®(depth first spannig tree)¶ó ÇÑ´Ù. ³Êºñ ¿ì¼± Ž»öÀÇ °á°ú·Î ½ºÆÐ´× Æ®¸®°¡
¸¸µé¾îÁö´Âµ¥ À̰ÍÀ» ³Êºñ ¿ì¼± ½ºÆÐ´× Æ®¸®(breadth first spanning tree)¶ó ÇÑ´Ù.
½ºÆÐ´× Æ®¸®ÀÇ ¼ºÁú
½ºÆÐ´× Æ®¸®´Â ±×·¡ÇÁÀÇ ¸ðµç vertex´Â Æ÷ÇÔÇÏ¸é¼ ¿¬°áµÇ¾î ÀÖ´Â ÃÖ¼Ò ¼ºê ±×·¡ÇÁ(minimal
subgraph)ÀÌ´Ù.
½ºÆÐ´× Æ®¸®ÀÇ °¢ edge¿¡ °¡ÁßÄ¡¸¦ ºÎ¿©ÇßÀ»¶§ °¡ÁßÄ¡ÀÇ ÃÑÇÕÀÇ °¡Àå ÀûÀº ½ºÆÐ´×
Æ®¸®¸¦ ÃÖ¼Ò ºñ¿ë ½ºÆÐ´× Æ®¸®¶ó ÇÑ´Ù. ÃÖ¼Òºñ¿ë ½ºÆÐ´× Æ®¸®´Â ´ÙÀ½°ú °°Àº ¼ºÁúÀ»
°¡Áø´Ù.
- ±×·¡ÇÁ ³»¿¡ ¿ø·¡ ÀÖ´ø edgeµé¸¸À» Æ÷ÇÔÇÑ´Ù.
- vertexÀÇ ¼ö°¡ nÀ϶§ n-1°³ÀÇ edge¸¸À» Æ÷ÇÔÇÑ´Ù.
- ¼øÈ¯ (cycle)ÀÌ À־ ¾ÈµÈ´Ù.
kruskalÀÇ
¹æ¹ý
primÀÇ ¹æ¹ý
sollinÀÇ
¹æ¹ý
kruskalÀÇ ¹æ¹ý
- ÇöÀç edgeµéÀÇ list¿¡¼ °¡ÁßÄ¡°¡ °¡Àå ÀûÀº edge¸¦ ¼±ÅÃÇÑ´Ù.
- ¼±ÅÃµÈ edge·Î µÎ vertex¸¦ ¿¬°áÇßÀ»¶§ ¼øÈ¯(cycle)ÀÌ »ý±â¸é edge¸¦ ¹ö¸®°í
±×·¸Áö ¾ÊÀ¸¸é ½ºÆÐ´× Æ®¸®¿¡ »ðÀÔÇÑ´Ù.
- ¼±ÅÃµÈ edge´Â edge list¿¡¼ Á¦°ÅÇÑ´Ù.
- edge list¿¡ ´õÀÌ»óÀÇ edge°¡ ³²¾Æ ÀÖÁö ¾ÊÀ»¶§±îÁö 1-3À» ¹Ýº¹ÇÑ´Ù.
primÀÇ ¹æ¹ý
- ÇöÀç edgeµéÀÇ list¿¡¼ °¡ÁßÄ¡°¡ °¡Àå ÀûÀº edge¸¦ ¼±ÅÃÇÑ´Ù.
- ¼±ÅÃµÈ edge·Î µÎ vertex¸¦ ¿¬°áÇßÀ»¶§ ¼øÈ¯(cycle)ÀÌ »ý±â¸é edge¸¦ ¹ö¸®°í
±×·¸Áö ¾ÊÀ¸¸é ½ºÆÐ´× Æ®¸®¿¡ »ðÀÔÇÑ´Ù.
- ±âÁ¸ÀÇ spanningÆ®¸®¸¦ ÀÌ·ç´Â edgeÀÇ ÇÑ ³¡ vertex¿¡ ¿¬°áµÈ edgeµéÀ» °Ë»çÇÑ´Ù.
- °Ë»çÇÑ edgeµé Áß¿¡¼ ¾ÆÁ÷ tree¿¡ µé¾îÀÖÁö ¾ÊÀ¸¸é¼ °¡ÁßÄ¡°¡ °¡Àå ÀûÀº
edge¸¦ ¼±ÅÃÇÑ´Ù.
- ¼±ÅÃµÈ edge´Â edge list¿¡¼ Á¦°ÅÇÑ´Ù.
- edge list¿¡ ´õÀÌ»óÀÇ edge°¡ ³²Áö ¾ÊÀ» ¶§±îÁö 2-5¸¦ ¹Ýº¹ÇÑ´Ù.
sollinÀÇ ¹æ¹ý
- °¢ vertex¿¡ ¿¬°áµÈ edgeµé Áß¿¡ ÃÖ¼Ò °¡ÁßÄ¡¸¦ °¡Áö´Â edgeµéÀ» ¼±ÅÃÇÑ´Ù.
- ¼±ÅÃµÈ edgeµé Áß Áߺ¹µÈ edgeµéÀ» Á¦°ÅÇÑ´Ù.
- ³ª¸ÓÁö edgeµé Áß¿¡¼ ÃÖ¼Ò °¡ÁßÄ¡ edge¸¦ ¼±ÅÃÇÑ´Ù.
- ¼±ÅÃÇÑ edge°¡ cycleÀ» ÀÌ·ç¸é ±× edge¸¦ ¹ö¸°´Ù.
- ¼±ÅÃÇÑ edge°¡ cycleÀ» ÀÌ·çÁö ¾ÊÀ¸¸é Æ®¸®¿¡ »ðÀÔÇÑ´Ù.