Ð ÓÖ ØÑÓ ÈÖ Ñ ÎÓ Ø Â ÖÒ µ Ð Ð ÓÖ ØÑÓ ÃÖÙ Ð Ò Ð ÓÒ ÓÒ ÓÔØ Ñ Ð Ñ ÒÓº ÓÖ ÖÖÓÐÐ Ö ÑÓ ÓØÖÓ Ð ÓÖ ØÑÓ ÑÙÝ Ò ÐÐÓ ÐÐ Ñ Ó Ð Ð ÓÖ ØÑÓ ÈÖ Ñ ÕÙ Ò Ð ÓÒ ÓÒ ÓÔØ ¹ Ñ Ð ÓÖØ º Ø ÔÖÓ Ñ ÒØÓ ÓÒ ØÖÙÝ ÙÒ Ö ÓÐ ÜÔ Ò Ò ÖÓ Ô ÖØ Ò Ó ÙÒ ÓÐÓ ÒÓ Ó Ý Ò Ó ÖÓ ÙÒÓ ÙÒÓº Å ÒØ Ò ÙÒ Ö ÓÐ ÜÔ Ò Ò ÙÒ Ù ÓÒ ÙÒØÓ S N Ý ÙÒ Ú ÒÓ Ñ Ö ÒÓ Sº ØÓ ÐÓ ÒØ Ò Ó ÙÒ ÖÓ (i, j) Ñ Ò ÑÓ Ó ØÓ Ò Ð ÓÖØ [ S, S ] º ÄÙ Ó Ð ÖÓ (i, j) Ð Ö ÓÐ Ð ÒÓ Ó j S Ý Ö Ô Ø Ø Ô Ó Ø ÕÙ S = Nº Ä ÓÖÖ Ø ØÙ Ø Ð ÓÖ ØÑÓ Ù Ö Ø Ñ ÒØ Ð ÔÖÓÔ ½ º¾ ÕÙ ÑÔÐ ÕÙ ÖÓ ÕÙ ÑÓ Ð Ö ÓÐ Ø ÓÒØÓ Ò Ð Ò Ö ÓÐ ÜÔ Ò Ò Ñ Ò ÑÓ ÕÙ ÓÒØ Ò ÐÓ ÖÓ ÕÙ ÑÓ Ð ÓÒ Ó Ò ÐÓ Ô Ó ÒØ Ö ÓÖ Ý ÕÙ Ö ÙÒ Ô ÕÙ Ó Ö ÙÑ ÒØÓ Ò ÙØ ÚÓµº À Ö ÕÙ ÙÒ ÑÔÐÓ ÔÓ Ö Ö Ð Ð Ô Ò ¾ Ù Ø Ðº ËÙÔÓÒ ÑÓ ÕÙ S = {1}º È Ö Ò Ð Þ Ö Ð Ø ÑÔÓ Ù Ò Ð Ð ÓÖ ØÑÓ ÈÖ Ñ ÓÒ Ö ÑÓ ÙÒ Ð n 1 Ø Ö ÓÒ ÕÙ Ð Ð ÓÖ ØÑÓ Ö Ð Þ Ð Ö ÙÒ ÖÓ Ð Ú Þ Ø ÐÓ Ö Ö ÙÒ Ö ÓÐ ÓÒ n 1 ÖÓ º [ Ò Ø Ö Ò Ð Ð ÓÖ ØÑÓ Ð ÓÒ Ð ÖÓ Ñ Ò ÑÓ Ó ØÓ Ò Ð ÓÖØ S, S ] º Ë Ö ÓÖÖ ÑÓ ØÓ Ð Ð Ø ÖÓ Ô Ö ÒØ Ö Ø ÖÓ ØÓ Ö ÕÙ Ö O (m) ÐÓ Ù Ð ÒÓ ÙÒ Ø ÑÔÓ ØÓØ Ð O (mn)º Ë Ò Ñ Ö Ó ØÓ ÔÙ Ñ ÓÖ Ö ÑÙ Ó ÓÑÓ Ù Ö ÑÓ ÓÒØ ÒÙ Òº Ð Ô Ó Ù ÐÐÓ ÓØ ÐÐ Ò ÑÔÐ Ñ ÒØ Ò Ò ÐÐ Ð Ð ÓÖ ØÑÓ ÈÖ Ñ Ð ÒØ Ò Ð ÖÓ Ñ Ò ÑÓ Ó ØÓ Ò Ð ÓÖØ º ÈÓ ÑÓ Ñ ÓÖ Ö Ð Ø Ô Ó Ñ ÒØÒ Ó Ó Ô Ö ÒÓ Ó j S ÙÒ Ø ÕÙ Ø Ø d (j) ÕÙ Ö ÔÖ ÒØ Ð Ñ Ò ÑÓ Ó ØÓ ÖÓ Ò Ð ÓÖØ ÒØ Ð ÒÓ Ó j Ö d (j) = min { c ij : (i, j) [ S, S ]} µ Ý ÙÒ Ø ÕÙ Ø ÔÖ ÓÖ pred (j) ÕÙ Ö ÔÖ ÒØ Ð ÓØÖÓ ÜØÖ ÑÓ Ð ÖÓ Ñ Ò ÑÓ Ó ØÓ Ò Ð ÓÖØ ÒØ jº ÁÐÙ ØÖ Ö ØÓ Ò Ð ÑÔÐÓ Ó ÒØ º Ë Ñ ÒØ Ò ÑÓ ØÓ ÔÓ ÑÓ ÐÑ ÒØ { ÒÓÒØÖ Ö Ð Ó ØÓ Ñ Ò ÑÓ ÙÒ ÖÓ Ò Ð ÓÖØ ÑÔÐ Ñ ÒØ Ð Ñ Ò d (j) : j S } º Ë Ð ÒÓ Ó i Ó Ø Ò Ð Ñ Ò ÑÓ Ð ÖÓ (pred (i),i) ÙÒ ÖÓ Ó ØÓ Ñ Ò ÑÓ Ò Ð ÓÖØ º Ç ÖÚ ÕÙ ÑÓÚ ÑÓ i S S Ò Ø ÑÓ ØÙ Ð Þ Ö Ð Ø ÕÙ Ø Ø Ý ÔÖ ÓÖ ÐÓ Ô Ö ÐÓ ÒÓ Ó Ý ÒØ iº
ÆÓØ Ð Ñ Ð ØÙ Ø ÑÔÐ Ñ ÒØ Ò Ð Ð ÓÖ ØÑÓ ÈÖ Ñ Ý Ð ÑÔÐ Ñ ÒØ Ò Ð Ð ÓÖ ØÑÓ ØÖ ÕÙ Ú ÑÓ Ò Ð ÙÖ Ó ÒØ Ö ÓÖº Ó Ø Ð ÓÑÓ Ò Ð Ó Ð Ð ÓÖ ØÑÓ ØÖ Ð Ð ÓÖ ØÑÓ ÈÖ Ñ ÔÙ ÑÔÐ Ñ ÒØ Ö Ù Ò Ó ÑÓÒØÓÒ Ô µº Ø ÑÔÐ Ñ ÒØ ÓÒ ÒÓ Ð Ù Ö ÑÓ Ò Ð Ó ØÖ Ô ÖÓ ÐÓ Ö ÑÓ Ô Ö Ð Ó ÈÖ Ñº ÍÒ ÑÓÒØ Ò ÙÒ ØÖÙØÙÖ ØÓ ÕÙ ÒÓ Ô ÖÑ Ø Ö Ð Þ Ö Ð Ù ÒØ ÓÔ Ö ÓÒ Ò ÙÒ ÓÒ ÙÒØÓ H Ó ØÓ ÙÒÓ ÓÒ ÙÒ Ò Ñ ÖÓ Ö Ð Ó Ó ÐÐ Ñ Ó Ù Ð Ú crear monton (H)º Ö ÙÒ ÑÓÒØ Ò Ú Ó Hº encontrar min (H)º ÒÙ ÒØÖ Ý Ö ØÓÖÒ ÙÒ Ó ØÓ H ÓÒ Ð Ú Ñ Ò Ñ º insertar (i, H)º ÁÒ ÖØ ÙÒ ÒÙ ÚÓ Ó ØÓ i ÓÒ ÙÒ Ð Ú ÔÖ Ò Ð ÑÓÒØ Ò Hº reducir clave (i, valor, H)º Ê Ù Ð Ð Ú ÙÒ Ó ØÓ i Ò H valor ÕÙ Ø Ò ÕÙ Ö Ñ ÒÓÖ ÕÙ Ð Ð Ú ÕÙ Ø Ö ÑÔÐ Þ Ò Óº borrar min (i, H)º ÓÖÖ ÙÒ Ó ØÓ i ÓÒ Ð Ñ Ò Ñ Ð Ú Ð ÑÓÒØ Ò Hº Ç ÖÚ ÕÙ ÑÔÐ Ñ ÒØ ÑÓ Ð Ð ÓÖ ØÑÓ ÈÖ Ñ Ù Ò Ó ÙÒ ÑÓÒØ Ò H Ö S Ý Ð Ð Ú ÒÓ Ó Ö Ù Ø ÕÙ Ø Øº Ä ÑÔÐ Ñ ÒØ Ò ÕÙ Ö ÓÑÓ Ù ÓÒ C = Ñ Ü (i,j) A c ij Ð ÓÖ ØÑÓ Prim monton Ò crear monton (H) Ô Ö j N {1}µ Ó d (j) := C + 1 d (1) := 0 pred (1) := 0 Ô Ö j Nµ Ó insertar (j, H) T := Û Ð T < (n 1)µ Ó Ò i := encontrar min (H) borrar min (i, H) T := T {(pred (i),i)}
¼ Ô Ö (i, j) A (i) ÓÒ j Hµ Ó Ò d (j) > c ij µ Ø Ò Ò d (j) := c ij pred (j) := i reducir clave (j, c ij, H) Ð Ö Ñ ÒØ Ø Ð ÓÖ ØÑÓ Ö Ð Þ Ð ÓÔ Ö ÓÒ encontrar min borrar min insertar ÐÓ ÙÑÓ n Ú Ý Ð ÓÔ Ö Ò reducir clave ÐÓ ÙÑÓ m Ú º À Ý Ñ ÐØ ÔÐ ÓÖÑ ÑÔÐ Ñ ÒØ Ö Ð ÑÓÒØ Òº ÒØÖ ÐÐ Ø ÑÓ Ð ÑÓÒØ Ò Ò Ö Ó Ð ÑÓÒØ Ò¹d Ý Ð ÑÓÒØ Ò ÓÒ Ú Ö Ô Ð Ð ÖÓ Ù Ø Ðºµº Ø ÑÔÐ Ñ ÒØ ÓÒ Ö Ð Þ Ò Ð ÓÔ Ö ÓÒ Ò Ø ÑÔÓ ÕÙ ÑÓ ØÖ ÑÓ Ò Ð Ù ÒØ Ø Ð ÁÑÔÐ Ñ ÒØ Ò borrar min ÇØÖ ÓÔ Ö ÓÒ ÑÓÒØ Ò¹d O (d ÐÓ d n) O (ÐÓ d n) ÑÓÒØ Ò Ò Ö Ó O (ÐÓ 2 n) O (ÐÓ 2 n) ÑÓÒØ Ò ÓÒ O (ÐÓ 2 n) O (1) Ò Ð Ó Ð ÑÓÒØ Ò¹d Ð ÓÒ d = m/n ÒØÓÒ Ð Ø ÑÔÓ ÓÖÖ Ð Ð ÓÖ ØÑÓ ÈÖ Ñ Ö ÙÐØ O (m ÐÓ d n + nd ÐÓ d n) = O (m ÐÓ d n)º È Ö Ð ÑÓÒØ Ò Ò Ö Ó ÕÙ ÙÒ Ó Ô ÖØ ÙÐ Ö Ð ÑÓÒØ Ò d Ù Ò Ó d = 2 Ø Ò ÙÒ Ø ÑÔÓ Ù Ò O (m ÐÓ 2 n)º Ò ÐÑ ÒØ Ô Ö Ð ÑÓÒØ Ò ÓÒ Ð Ð ÓÖ ØÑÓ ÈÖ Ñ Ö ÕÙ Ö O (m + n ÐÓ 2 n)º Ð ÓÖ ØÑÓ ËÓÐÐ Ò ÇØ Ö ÓÖóÚ µ ÆÙ Ú Ñ ÒØ Ù Ò Ó Ð ÓÒ ÓÒ ÓÔØ Ñ Ð ÓÖØ ÔÓ ÑÓ ÖÖÓÐÐ Ö ÙÒ Ð ÓÖ ØÑÓ ÒÓÚ Ð ÐÐ Ñ Ó Ð Ð ÓÖ ØÑÓ ËÓÐÐ Òº Ø Ð ÓÖ ØÑÓ ÔÙ ÒØ ÖÔÖ Ø Ö ÓÑÓ ÙÒ Ö Ó ÐÓ Ó ÒØ Ö ÓÖ º Ð Ù Ð ÕÙ Ò Ð Ð ÓÖ ØÑÓ ÃÖÙ Ð Ð Ð ÓÖ ØÑÓ ËÓÐÐ Ò Ñ ÒØ Ò ÙÒ ÓÐ Ò Ö ÓÐ ÜÔ Ò Ò Ô Ö ÐÓ ÒÓ Ó N 1, N 2, N 3,... Ý ÖÓ ÓÐ Òº Ë Ò Ñ Ö Ó
½ Ò Ø Ö Ò ÖÓ Ñ Ò ÑÓ Ó ØÓ ÒØ ØÓ Ö ÓÐ ÙÒ ØÓÑ Ð Ð ÓÖ ØÑÓ ÈÖ Ñº ÓÑÓ Ö ÙÐØ Ó Ó Ø Ò ÑÓ ÙÒ Ð ÓÖ ØÑÓ Ø ÒØ ÑÔÐ ÕÙ Ù ØÖÙØÙÖ ØÓ Ð Ñ ÒØ Ð Ý ÓÒ ÙÒ Ø ÑÔÓ Ù Ò O (m ÐÓ 2 n)º ÑÔÓÖØ ÒØ Ñ Ò ÓÒ Ö ÕÙ ÙÒ ÑÔÐ Ñ ÒØ Ò Ñ ØÙØ Ø ØÖ Ø ÓÖÖ Ò O (m ÐÓ 2 ÐÓ 2 n)º Ð Ð ÓÖ ØÑÓ ËÓÐÐ Ò Ö Ð Þ Ö Ô Ø Ñ ÒØ Ð Ó ÓÔ Ö ÓÒ vecino mas cercano (N k, i k, j k )º Ø ÓÔ Ö Ò Ø Ò ÓÑÓ ÒØÖ ÙÒ Ö ÓÐ ÜÔ Ò Ò ÓÒ ÒÓ Ó N k Ý Ø ÖÑ Ò ÙÒ ÖÓ (i k, j k ) ÓÒ Ñ Ò ÑÓ Ó ØÓ ÒØÖ ÐÓ ÖÓ ÒØ N k ÓÒ Ð ÓØÖÓ ÜØÖ ÑÓ Ù Ö N k c ik j k = Ñ Ò {c ij : (i, j) A, i N k Ý j / N k } º È Ö Ö Ð Þ Ö Ø ÓÔ Ö Ò Ò Ø ÑÓ Ö ÓÖÖ Ö ØÓ Ó ÐÓ ÖÓ Ò Ð Ð Ø Ý ÐÓ ÒÓ Ó Ò N k Ý ÒÓÒØÖ Ö ÙÒ ÖÓ Ñ Ò ÑÓ Ó ØÓ Ó Ö ÕÙ ÐÐÓ ÖÓ ÕÙ Ø Ò Ò ÙÒ ÜØÖ ÑÓ Ù Ö N k º unir (i k, j k )º Ø ÓÔ Ö Ò Ø Ò ÓÑÓ ÒØÖ Ó ÒÓ Ó i k Ý j k Ý ÐÓ ÒÓ Ó Ô ÖØÒ Ö ÓÐ Ö ÒØ ÙÒ ÐÓ Ó Ö ÓÐ Ò ÙÒÓ ÓÐÓº ÓÒ ØÓ Ð Ð ÓÖ ØÑÓ ÔÙ ÜÔÖ Ö Ð ÓÖ ØÑÓ Sollin Ò Ô Ö i Nµ Ó N i := {i} T := Û Ð T < (n 1)µ Ó Ò Ô Ö Ö ÓÐ ÓÒ ÒÓ Ó N k µ Ó vecino mas cercano (N k, i k, j k ) Ô Ö Ö ÓÐ ÓÒ ÒÓ Ó N k µ Ó ÐÓ ÒÓ Ó i k Ý j k Ø Ò Ò Ö ÓÐ Ö ÒØ µ Ø Ò unir (i k, j k ) Ý ØÙ Ð Þ Ö T := T {(i k, j k )} À Ö ÕÙ ÙÒ ÑÔÐÓ ÔÓ Ö Ö Ð Ð Ô Ò ¾ Ù Ø Ðº ËÙÔÓÒ ÑÓ ÕÙ S = {1}º
¾ È Ö Ò Ð Þ Ö Ð ÓÑÔÐ Ø Ð ÓÖ ØÑÓ Ò Ø ÑÓ Ö ÑÓ ÑÔÐ Ñ ÒØ Ò Ð Ó ÓÔ Ö ÓÒ ÔÖ Ò Ô Ð Ñ Ò ÓÒ ÖÖ º Ë ÐÑ Ò Ò ÐÓ ÒÓ Ó ÙÒ Ö ÓÐ Ò ÙÒ Ð Ø ÖÙÐ Ö Ó Ð Ñ ÒØ ÒÐ Þ º ØÓ ÒÓ Ô ÖÑ Ø Ú Ø Ö ÒÓ Ó Ð Ö ÓÐ ÓÑ ÒÞ Ò Ó Ò Ù ÐÕÙ Ö ÐÐÓ º Ò ÑÓ ÙÒ Ø ÕÙ Ø ÒÙÑ Ö ÒÓ Ó Ð Ö Ø Ø Ð Ù ÒØ Ó ÔÖÓÔ ½µ ÒÓ Ó ÙÒ Ñ ÑÓ Ö ÓÐ Ø Ò Ò Ð Ñ Ñ Ø ÕÙ Ø Ý ¾µ ÒÓ Ó Ö ÓÐ Ö ÒØ Ø Ò Ò Ø ÕÙ Ø Ø ÒØ º ÁÒ ÐÑ ÒØ ÒÓ Ó i Ø Ò Ø ÕÙ Ø iº Í Ò Ó Ø ØÖÙØÙÖ ÐÑ ÒØ ÔÓ ÑÓ Ú Ö Ù Ö ÙÒ ÖÓ Ø Ò Ñ Ó ÜØÖ ÑÓ Ò Ð Ñ ÑÓ Ö ÓÐ ÐÓ Ø Ú Ö Ö Ð Ø ÕÙ Ø º ÈÓÖ ÐÓ Ø ÒØÓ Ð ÓÔ Ö Ò vecino mas cercano ÔÙ Ö Ð Þ Ö Ò ÙÒ Ø ÑÔÓ ØÓØ Ð O ( i N A (i) ) = O (m)º È Ö Ö Ð Þ Ö Ð ÓÔ Ö ÓÒ unir ÑÓ ÙÒ Û Ð Ø Ð ÕÙ Ò Ø Ö Ò Ð ÓÒ ÙÒ Ö ÓÐ ÒÓ Ü ÑÓ ÑÓ ÓÖÖ ÔÓÒ ÒØ ÐÓ ÒÓ Ó Ò N 1 Ý ÓÒ Ö Ð ÖÓ Ñ Ò ÑÓ Ó ØÓ (i 1, j 1 ) ÓÒ i 1 N 1 º ËÙÔÓÒ ÑÓ ÕÙ ÐÓ ÒÓ Ó Ò N 1 Ø Ò Ò Ø ÕÙ Ø αº Ë Ð ÒÓ Ó j 1 Ø Ñ Ò Ø Ò Ø ÕÙ Ø α Ð Ø Ö Ò Ø ÖÑ Ò º Ò Ó ÓÒØÖ Ö Ó Ö ÓÖÖ ÑÓ ÐÓ ÒÓ Ó Ð Ö ÓÐ N 2 ÕÙ ÓÒØ Ò j 1 Ý Ð Ò ÑÓ Ð Ø ÕÙ Ø αº ÄÙ Ó ÓÒ Ö ÑÓ Ð ÖÓ Ñ Ò ÑÓ Ó ØÓ (i 2, j 2 ) ÓÒ i 2 N 2 º Ë Ð ÒÓ Ó j 2 Ø Ñ Ò Ø Ò Ø ÕÙ Ø α Ð Ø Ö Ò Ø ÖÑ Ò º Ò Ó ÓÒØÖ Ö Ó Ö ÓÖÖ ÑÓ ÐÓ ÒÓ Ó Ð Ö ÓÐ N 3 ÕÙ ÓÒØ Ò j 2 Ý Ð Ò ÑÓ Ð Ø ÕÙ Ø αº Ê Ô Ø ÑÓ Ø ÔÖÓ Ó Ø ÕÙ Ð Ø Ö Ò Ø ÖÑ Ò º ÆÓØ ÕÙ ÙÖ ÒØ ÙÒ Ø Ö Ò ÔÓ Ö ÑÓ Ò Ö ÐÓ ÒÓ Ó Ú Ö Ó Ö ÓÐ Ð Ø ÕÙ Ø Ð ÔÖ Ñ Ö Ö Óк Ù Ò Ó ÙÒ Ø Ö Ò Ø ÖÑ Ò ÑÓ ÙÒ ÒÙ Ú Ø Ö Ò Ð ÓÒ Ò Ó ÓØÖÓ Ö ÓÐ ÒÓ Ü ÑÓº Ì ÖÑ Ò ÑÓ Ø ÔÖÓ Ó Ø Ö Ø ÚÓ Ù Ò Ó Ý ÑÓ Ü ÑÓ ØÓ Ó ÐÓ Ö ÓÐ º Ø Ñ ØÓ Ó Ð Ö Ñ ÒØ Ò ÙÒ Ø ÕÙ Ø ÒÓ Ó Ü Ø Ñ ÒØ ÙÒ Ú Þ Ý ÔÓÖ ÐÓ Ø ÒØÓ ÓÖÖ Ò O (n)º ÓÖ Ú ÑÓ Ù ÒØ Ø Ö ÓÒ Ð Ð ÞÓ ÔÖ Ò Ô Ð ÓÒ Ò Ö º Ù Ò Ø Ð ÞÓ Ö Ù Ð Ò Ñ ÖÓ Ö ÓÐ Ð Ñ ÒÓ Ð Ñ Ø Ý ÕÙ Ö ÓÐ ÓÖ Ò Ð Ñ ÞÐ ÓÒ ÓØÖÓº Ø Ó ÖÚ Ò ÑÔÐ ÕÙ Ö Ð Þ Ò ÐÓ ÙÑÓ O (ÐÓ 2 n) Ø Ö ÓÒ º Ë ÓÒÐÙÝ ÕÙ Ð Ø ÑÔÓ Ù Ò Ð Ð ÓÖ ØÑÓ O (m ÐÓ 2 n)º