Ensayo Final EDA
Ensayo Final EDA
Ensayo Final EDA
TEMAS A DESARROLLAR
1) Algoritmos de búsqueda.
• Búsqueda Secuencial.
• Búsqueda Binaria.
• Inserción en una lista ordenada.
2) Algoritmos de Ordenamiento.
• Ordenamiento por selección.
• Ordenamiento por inserción.
• Ordenamiento por inserción listas ligadas basadas en listas.
• Ordenamiento rápido: Listas basadas en arreglos.
• Ordenamiento por Mezcla.
• Límite inferior de algoritmos de ordenamiento basados en la comparación.
• Ordenamiento por Montículos, Listas basadas en arreglos.
Introduccion.
si vector[ind]=elemento entonces
busquedasecuencial:=ind
sino
busquedasecuencial:=0
BÚSQUEDA SECUENCIAL,
IMPLEMENTACIÓN EN PASCAL
FUNCTION
Busquedasec(v:tvector ; elem:telem):tIntervalo;
{Dev. 0 si el elemento no está en ‘v’ o i si v[ì]=elem}
VAR
i:tIntervalo;
BEGIN
i:=0;
repeat
i:=i+1;
until (v[i]=elem) or (i=N);
if v[i]=elem then
busquedasec:=i
else
busquedasec:=0
END; {busquedasec}
Este algoritmo en el peor de los casos es de orden O(n).
BÚSQUEDA SECUENCIAL
ORDENADA
• La busqueda binaria.
Es un algoritmo eficiente para encontrar un elemento en una lista ordenada de
elementos. Funciona al dividir repetidamente a la mitad la porción de la lista que podría
contener al elemento, hasta reducir las ubicaciones posibles a solo una. Usamos la
búsqueda binaria en el juego de adivinar en la lección introductoria.
Una de las maneras más comunes de usar la búsqueda binaria es para encontrar un
elemento en un arreglo. Por ejemplo, el catálogo estelar Tycho-2 contiene información
acerca de las 2,539,913 estrellas más brillantes en nuestra galaxia. Supón que quieres
buscar en el catálogo una estrella en particular, con base en el nombre de la estrella.
Si el programa examinara cada estrella en el catálogo estelar en orden empezando con
la primera, un algoritmo llamado búsqueda lineal, la computadora podría, en el peor de
los casos, tener que examinar todas las 2,539,913 de estrellas para encontrar la estrella
que estás buscando. Si el catálogo estuviera ordenado alfabéticamente por nombres de
estrellas, la búsqueda binaria no tendría que examinar más de 22 estrellas, incluso en el
peor de los casos.
Su funcionamiento es el siguiente:
Y en general:
De esta manera se puede escribir el siguiente pseudocódigo para ordenar una lista de n
elementos indexados desde el 0:
para i=0 hasta n-2
mínimo = i;
para j=i+1 hasta n-1
si lista[j] < lista[mínimo] entonces
mínimo = j /* (!) */
fin si
fin para
intercambiar(lista[i], lista[mínimo])
fin para
El ordenamiento por inserción es una manera muy natural de ordenar para un ser
humano, y puede usarse fácilmente para ordenar un mazo de cartas numeradas en
forma arbitraria. Requiere O(n2) operaciones para ordenar una lista de n elementos.