Page 64 - INTRODUCCIÓN AL ANÁLISIS DE ALGORITMOS
P. 64

INTRODUCCIÓN AL ANÁLISIS  DE ALGORITMOS






















                  Considere el arreglo de diez elementos A (310, 285, 179, 652, 351, 423, 861, 254, 450, 520). Mer-
                  ge sort inicia por dividir A en dos subarreglos de tamaño cinco. Los elementos A(1:5) son a su vez
                  divididos en arreglos de tamaño tres y dos. Entonces, los elementos A(1:3) son divididos en dos
                  subarreglos de tamaño dos y uno. Los dos valores en A(1:2) son divididos en un subarreglo de un
                  solo elemento y la fusión inicia. Hasta este momento ningún movimiento ha sido realizado. Pictórica-
                  mente, el arreglo puede ser visto de la siguiente forma:
                                          (310|285|179|652, 351|423, 861, 254, 450, 520).




                  Las barras verticales indican el acotamiento de los subarreglos. A(1) y A(2) son fusionados, lo que
                  produce:
                                         (285, 310| 179|652, 351| 423, 861, 254, 450, 520).




                  Entonces, A(3) es fusionado con A(1:2), lo que genera:

                                          (179, 285, 310|652, 351|423, 861,254, 450, 520)



                  Los elementos A(4) y A(5) son fusionados:

                                         (179, 285, 310|351, 652| 423, 861, 254, 450, 520)



                  Siguiendo la fusión de A(1:3) y A(4:5), se tiene:

                                         (179, 285, 310, 351, 652| 423, 861, 254, 450, 520)




                  En este punto, el algoritmo ha retornado a la primera invocación de merge sort y se realizará la se-
                  gunda llamada recursiva. Las llamadas recursivas a la derecha producen los siguientes subarreglos:

                                          (179, 285, 310, 351, 652|423|861|254|450, 520).



                                                               58
   59   60   61   62   63   64   65   66   67   68   69