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

INTRODUCCIÓN AL ANÁLISIS  DE ALGORITMOS


            donde

            lista: Es cualquier lista para ordenar.

            TAM: Es una constante que determina el tamaño de la lista.

            i, j: Contadores.

            temp: Variable que permite realizar los intercambios de la lista.


            Veamos un ejemplo. Esta es nuestra lista:

                                                    4 - 3 - 5 - 2 – 1.

            Tenemos cinco elementos; por tanto, TAM toma el valor 5. Comenzamos comparando el primer ele-
            mento con el segundo: 4 es mayor que 3, así que intercambiamos. Ahora tenemos:


                                                    3 - 4 - 5 - 2 – 1.

            Luego comparamos el segundo con el tercero: 4 es menor que 5, así que no hacemos nada. Segui-
            mos con el tercero y el cuarto: 5 es mayor que 2, por tanto, intercambiamos y obtenemos:


                                                    3 - 4 - 2 - 5 – 1.

            Comparamos el cuarto y quinto elemento: 5 es mayor que 1, así que intercambiamos nuevamente:

                                                    3 - 4 - 2 - 1 – 5.


            Repitiendo este proceso, vamos obteniendo los siguientes resultados:

                                                    3 - 2 - 1 - 4 - 5


                                                    2 - 1 - 3 - 4 - 5

                                                    1 - 2 - 3 - 4 - 5


            Este es el análisis para la versión no optimizada del algoritmo:




                        •  Estabilidad: Este algoritmo nunca intercambia registros con claves iguales. Por
                        lo tanto, es estable.

                        •  Requerimientos de memoria: Este algoritmo solo requiere de una variable adi-
                        cional para realizar los intercambios.

                        •  Tiempo de ejecución: El ciclo interno se ejecuta n veces para una lista de n
                        elementos. El ciclo externo también se ejecuta n veces. Es decir, la complejidad


                                                          53
   54   55   56   57   58   59   60   61   62   63   64