Está en la página 1de 6

Saint N. Tern E. Mtodos de ordenamiento y bsqueda.

Programacin II
Repblica bolivariana de Venezuela
Ministerio del poder popular para la defensa
Universidad nacional experimental politcnica
De la fuerza armada bolivariana










Facilitador: Emprendedor:
Ing. Luis Sequera. Saint N. Tern E.
8vo semestre
Ing. Sistema.
Nirgua, 2014
Saint N. Tern E. Mtodos de ordenamiento y bsqueda. Programacin II
Bsqueda
Los computadores se emplean frecuentemente para almacenar
grandes volmenes de datos. Tener mucha informacin implica tener
dificultades para darle real utilidad.
Los algoritmos de bsqueda son fundamentales para poder localizar la
informacin relevante en el menor tiempo posible. Los algoritmos de
ordenacin permiten mantener la informacin ordenada de tal forma que la
bsqueda se simplifique.
Dado un valor X, devolver el ndice del elemento X en el arreglo, en
caso de existir. En caso contrario devolver no encontrado (-1). Se supone
que en un arreglo no hay entradas duplicadas. La bsqueda es una
operacin que tiene por objeto la localizacin de un elemento dentro de la
estructura de datos.
A menudo un programador estar trabajando con grandes cantidades
de datos almacenados en arreglos y pudiera resultar necesario determinar si
un arreglo contiene un valor que coincide con algn valor clave o buscado.
Existen varios procedimientos (algoritmos) de bsqueda. Dentro de los
que podemos mencionar:
Bsqueda Lineal
Bsqueda Binaria
Bsqueda Lineal
Se utiliza cuando el vector no est ordenado o no puede ser ordenado
previamente. Consiste en comparar el elemento que se desea encontrar con
cada elemento del arreglo hasta encontrarlo, o hasta que se llegue al final, la
existencia se puede asegurar cuando el elemento es localizado, pero no
Saint N. Tern E. Mtodos de ordenamiento y bsqueda. Programacin II
podemos asegurar la no existencia hasta no haber analizado todos los
elementos del arreglo.
Consisten en recorrer el arreglo hasta encontrar el elemento buscado
(elemento por elemento). Si se llega hasta el ltimo elemento y aun no se ha
encontrado, entonces no se encuentra en la lista.
Bsqueda Binaria
Restriccin
Los elementos de la lista deben estar previamente ordenados.
Algoritmo (asumiendo orden ascendente). Si el largo de la lista es 0 el
programa termina. Se calcula el ndice del elemento central. Se compara el
elemento buscado con el elemento central.
Si el elemento buscado es mayor al central, se vuelve al paso 1, pero
con la sublista [central + 1, largo]. Si el elemento buscado es menor al
central, se vuelve al paso 1, pero con la sublista [0, central 1]. Si el
elemento buscado es igual al central se retorna el ndice de este. Encontr el
elemento.
Ordenacin
La ordenacin o clasificacin de datos (sort, en ingls) es una
operacin consistente en disponer un conjunto o una estructura de datos en
algn determinado orden con respecto a uno de los campos de elementos
del conjunto.
Por ejemplo, cada elemento del conjunto de datos de una gua
telefnica tiene un campo nombre, un campo direccin y un campo nmero
de telfono; la gua telefnica est dispuesta en orden alfabtico de nombres;
Saint N. Tern E. Mtodos de ordenamiento y bsqueda. Programacin II
los elementos numricos se pueden ordenar en orden creciente o
decreciente de acuerdo al valor numrico del elemento.
Existen una gran cantidad de algoritmos que se diferencian en su
rapidez y complejidad. Entre los cuales tenemos:
Directos:
Ordenacin por seleccin.
Ordenacin por burbuja.
Ordenacin por insercin.
Indirectos (avanzados):
Shell
ordenacin rpida
ordenacin por mezcla
Radixsort
Ordenacin por seleccin
Se conoce como Selection Sort, consiste en buscar el menor
elemento, este elemento se cambia con el elemento en el primer lugar de la
lista, se vuelve al paso 1, pero ahora la bsqueda comienza en el siguiente
elemento.
Ordenacin por burbuja
Se busca el menor elemento. Este elemento se cambia con el
elemento en el primer lugar de la lista. Se vuelve al paso 1, pero ahora la
bsqueda comienza en el siguiente elemento. Se conoce como Buble Sort.

Saint N. Tern E. Mtodos de ordenamiento y bsqueda. Programacin II
Ordenacin por insercin
Inicialmente se tiene un solo elemento, que obviamente es un conjunto
ordenado. Despus, cuando hay k elementos ordenados de menor a mayor,
se toma el elemento k+1 y se compara con todos los elementos ya
ordenados, detenindose cuando se encuentra un elemento menor (todos los
elementos mayores han sido desplazados una posicin a la derecha). En
este punto se inserta el elemento k+1 debiendo desplazarse los dems
elementos. Se conoce como Insertion Sort.
Ordenacin por shell
Es un mtodo de ordenamiento muy rpido, fue desarrollado por
Donald Shell (1959), el procedimiento es sencillo y corto, pero su
comprensin no lo es y se basa en una sucesin de clasificaciones. Es una
mejora del mtodo de insercin directa basada en la disminucin de los
incrementos o saltos. Se comparan los elementos dos a dos: X[i] con X[i+n/2]
y se les ordena.
Se hacen las mismas comparaciones pero de la forma: X[i] con
X[i+n/2] y se les ordena. Luego se hacen las mismas comparaciones pero de
la forma: X[i] con X[i+n/4] y tambin se les ordena. Este proceso contina
hasta que se obtiene la clasificacin final. El procedimiento es:
Se selecciona el salto o intervalo en el arreglo original (k=n/2), se
forman grupos de dos elementos cada uno (posiciones [j] y [j+k]) y se
clasifica cada grupo por separado (compara parejas de elementos, si no
estn ordenados se intercambian de posiciones entre s). Se realiza una o
ms repasadas en esta operacin hasta comprobar que ya no se requiere
intercambios de posiciones.
Saint N. Tern E. Mtodos de ordenamiento y bsqueda. Programacin II
Se selecciona un nuevo salto para el arreglo obtenido en el paso
anterior (k=k/2), se forman grupos de dos elementos cada uno y se clasifica
cada grupo por separado. Se realiza una o ms repasadas hasta comprobar
que ya no se requieren intercambios de posiciones.
El procedimiento se repite hasta que el salto sea k=1. Completndose
el ordenamiento con las repasadas necesarias hasta comprobar que ya no
se requieren intercambios de posiciones.