Вы находитесь на странице: 1из 4

INSTITUTO TECNOLOGICO

DE
SAN JUAN DEL RIO

TRABAJO NUM 10
METODOS DE ORDENAMIENTO Y BUSQUEDA

Profesora: Roció Guadalupe Zozaya Salas ESTRUCTURA DE DATOS

Estela Velázquez Hernández 08590286


Fernando calderón Ayala 08590478

Ing. En Sistemas Computacionales 18 de noviembre del 2010


METODO: CARACTERISTICAS VENTAJAS DESVENTAJAS
BURBUJA Funciona revisando cada elemento de la RENDIMIENTO EN CASOS OPTIMOS: A pesar de que el ordenamiento de
lista que va a ser ordenada con el El ordenamiento de burbuja tiene una burbuja es uno de los algoritmos más
siguiente, intercambiándolos de posición si complejidad Ω(n²). Cuando una lista ya está sencillos de implementar, su orden O (n2)
están en el orden equivocado. Es necesario ordenada, a diferencia del ordenamiento por lo hace muy ineficiente para usar en listas
revisar varias veces toda la lista hasta que inserción que pasará por la lista una vez, y que tengan más que un número reducido
no se necesiten más intercambios, lo cual encontrará que no hay necesidad de de elementos. Incluso entre los algoritmos
significa que la lista está ordenada. intercambiar las posiciones de los elementos, de ordenamiento de orden O (n2), otros
Este algoritmo se trata de ordenar una el método de ordenación por burbuja está procedimientos como el Ordenamiento
forzado a pasar por dichas comparaciones, lo
lista de valores: a, de n términos por inserción son considerados más
que hace que su complejidad sea cuadrática
numerados del termino 0 al n-1, consta de eficientes
en el mejor de los casos, esto lo cataloga
dos bucles anidados uno con el índice i, como el algoritmo mas ineficiente que Requiere al menos el doble de escrituras
que acota el recorrido de la burbuja en existe aunque para muchos programadores que el ordenamiento por inserción, el
sentido inverso de 2 a n, y un segundo sea el más sencillo de implementar. doble de pérdidas de cache, y
bucle con el índice j, con un recorrido asintóticamente más predicción de saltos.
desde 0 hasta n-i, para cada iteración del Varios experimentos, hechos por Astrachan,
primer bucle, que indica el lugar de la de ordenamiento de cadenas en Java,
burbuja. muestran que el ordenamiento de burbuja es
La burbuja son dos términos de la lista 5 veces más lento que el ordenamiento por
seguidos, j é j+1, que se comparan, si el inserción y 40% más lento que el
primero es menor que el segundo sus valoras ordenamiento por selección.
se intercambian.

SHELL Se denomina Shell en honor de su inventor El ordenamiento por inserción es eficiente El ordenamiento por inserción es
Donald Shell. Su implementación original, si la entrada está "casi ordenada". ineficiente, en general, porque mueve los
requiere O(n2) comparaciones e El algoritmo Shell sort mejora el valores sólo una posición cada vez.
intercambios en el peor caso. ordenamiento por inserción comparando Es muy difícil analizar su tiempo de
Pratt produce una implementación con un elementos separados por un espacio de ejecución
rendimiento de O(nlog2 n) en el peor caso. varias posiciones. Esto permite que un
Esto es mejor que las O(n2) comparaciones elemento haga "pasos más grandes" hacia su
requeridas por algoritmos simples pero peor posición esperada. Los pasos múltiples sobre
que el óptimo O(n log n) los datos se hacen con tamaños de espacio
cada vez más pequeños. El último paso del
Shell sort es un simple ordenamiento por
inserción, pero para entonces, ya está
garantizado que los datos del vector están
casi ordenados.

QUICKSORT El ordenamiento rápido (quicksort en El algoritmo básico Quicksort permite En el peor caso, el pivote termina en un
inglés) es un algoritmo basado en la tomar cualquier elemento de la lista como extremo de la lista. El orden de
técnica de divide y vencerás, que permite, pivote, dependiendo de la partición n que complejidad del algoritmo es entonces de
en promedio, ordenar n elementos en un se elija, el algoritmo será más o menos O(n²). El peor caso dependerá de la
tiempo proporcional a n log n. eficiente. implementación del algoritmo, aunque
el algoritmo quicksort ofrece un orden de Tomar un elemento cualquiera como pivote habitualmente ocurre en listas que se
ejecución O(n²) para ciertas permutaciones tiene la ventaja de no requerir ningún cálculo encuentran ordenadas, o casi ordenadas.
"críticas" de los elementos de la lista, que adicional, lo cual lo hace bastante rápido. Pero principalmente depende del pivote, si
siempre surgen cuando se elige el pivote «a Sin embargo, esta elección «a ciegas» por ejemplo el algoritmo implementado
ciegas». siempre provoca que el algoritmo tenga un toma como pivote siempre el primer
orden de O(n²) para ciertas permutaciones de elemento del array, y el array que le
los elementos en la lista. pasamos está ordenado, siempre va a
generar a su izquierda un array vacío, lo
que es ineficiente.
METODO: CARACTERISTICAS
La búsqueda secuencial es la técnica más
simple para buscar un elemento en un arreglo.

Consiste en recorrer el arreglo elemento a


SECUENCUENCIAL elemento e ir comparando con el valor
buscado (clave).

Se empieza con la primera casilla del arreglo y


se observa una casilla tras otra hasta que se
encuentra el elemento buscado o se han visto
todas las casillas.

Consiste en dividir el intervalo de búsqueda en dos


partes.
Se divide la estructura en dos partes (cen=N/2).
Se compara el elemento buscado con el de la
posición central.
En caso de no ser iguales se redefinan los extremos
del intervalo (según el elemento central se a mayor
o menor que el buscado) disminuyendo el espacio
BINARIA de búsqueda.
El proceso concluye cuando el elemento es
encontrado o bien cuando el intervalo de búsqueda
sea nulo.
Éste método funciona únicamente para estructuras
ordenadas.
Con cada iteración del método el espacio de
búsqueda se reduce a la mitad, por lo tanto el
número comparaciones a realizar disminuye
notablemente, lo cual resulta significativo cuanto
más grande sea el tamaño de la estructura.

Consiste en aplicar una función que traduce un


conjunto de posibles valores clave en un rango de
HASH direcciones o claves relativas.
Conclusión:

Para nosotros todos los métodos tanto de búsqueda como de ordenamiento son buenos a pesar de que tienen puntos buenos y puntos malos, solamente que dependiendo
de la aplicación se utilizara alguno de ellos por alguna característica que concuerde o que se acomode con el problema que se desea solucionar, pero si nos tenemos que
quedar con uno de cada lado escogeríamos el método rápido (Quicksort) y el binario que serian los mas rapidos.

Editorial Mc Graw Hill 2ª edición.


" Fundamentos de Programación. Algoritmos y estructuras de datos. 2ª Edición

Вам также может понравиться