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

INTRODUCCIÓN AL ANÁLISIS  DE ALGORITMOS


                  if (a[i]>max)

                  max=a[i];

                  else if (a[i]<min)
                  min=a[i];

                  Ahora, el mejor caso surge cuando los elementos están en forma creciente, ya que en el mejor de
                  los casos se requieren n-1 comparaciones, mientras que en el peor de los casos se necesitan 2(n-1)
                  comparaciones. El promedio será:




                                                  [2(n-1) + n-1] / 2 = (3n-1) / 2 – 1.



                  A continuación, el algoritmo 2.11 muestra una forma recursiva para encontrar el máximo y el mínimo
                  de un conjunto de elementos y maneja la estrategia de divide y conquistarás. Este algoritmo envía
                  cinco parámetros: el primero es el arreglo para trabajar; los otros dos se manejan como paso de
                  parámetros por valor, y los dos últimos se manejan como pase de parámetros por referencia. En este
                  caso, el segundo y tercer parámetro indican el índice del subconjunto a analizar, y los dos últimos
                  parámetros sirven para retornar el mínimo y máximo de un subconjunto determinado. Al término de
                  la recursión se obtienen el mínimo y máximo del conjunto dado.




                                 Algoritmo 2.11. Encontrando el máximo y mínimo en forma recursiva





































                                                               70
   71   72   73   74   75   76   77   78   79   80   81