Documentos de Académico
Documentos de Profesional
Documentos de Cultura
BUSQUEDA
Ordenamiento
Es la operacin de arreglar los registros de una
tabla en algn orden secuencial de acuerdo a un
criterio de ordenamiento. El ordenamiento se
efecta con base en el valor de algn campo en
un registro. El propsito principal de un
ordenamiento es el de facilitar las bsquedas de
los miembros del conjunto ordenado.
El ordenar un grupo de datos significa mover
los datos o sus referencias para que queden en
una secuencia tal que represente un orden, el
cual puede ser numrico, alfabtico o incluso
alfanumrico, ascendente o descendente.
Osirys
Bsqueda
es aquel que est diseado para localizar
un elemento con ciertas propiedades
dentro de una estructura de datos; por
ejemplo, ubicar el registro
correspondiente a cierta persona en
una base de datos, o el mejor movimiento
en una partida de ajedrez.
La variante ms simple del problema es la
bsqueda de un nmero en un vector.
Osirys
Notacin de la gran O (big O)
Cuando trabajamos con algoritmos,
normalmente nos interesa el rendimiento de
ste. Nos interesa saber, por ejemplo, de qu
forma se comporta el algoritmo dada una
cantidad determinada de datos a procesar.
Cientficos en computacin emplean una forma
de categorizar y comparar los algoritmos, de tal
suerte que se pueda categorizar de forma rpida
el rendimiento de un algoritmo. Esta forma de
medir se llama la Notacin Gran O: Big-O
Notation (BON).
Medardo
Esta notacin expresa la ejecucin de un algoritmo dado un parmetro de entrada (i.e. el tamao de datos a procesar). La
notacin normalmente es O(n)
Medardo
Bsicamente notacin gran O:
Debe elegir uno de los elementos del arreglo al que llamaremos pivote.
Debe acomodar los elementos del arreglo a cada lado del pivote, de
manera que del lado izquierdo queden todos los menores al pivote y del
lado derecho los mayores al pivote; considere que en este momento, el
pivote ocupa exactamente el lugar que le corresponder en el arreglo
ordenado.
Colocado el pivote en su lugar, el arreglo queda separado en dos
subarreglos, uno formado por los elementos del lado izquierdo del pivote,
y otro por los elementos del lado derecho del pivote.
Repetir este proceso de forma recursiva para cada sub arreglo mientras
stos contengan ms de un elemento. Una vez terminado este proceso
Jess todos los elementos estarn ordenados.
Heapsort
Este algoritmo consiste en
El ordenamiento por almacenar todos los
montculos (heapsort elementos del vector a
en ingls) es un ordenar en un montculo
algoritmo de (heap), y luego extraer el
ordenamiento no nodo que queda como
recursivo, no estable, nodo raz del montculo
con complejidad (cima) en sucesivas
computacional iteraciones obteniendo el
conjunto ordenado.
Jess
ORDENAMIENTO POR SELECCIN
(SelectionSort)
Ventajas:
Fcil implementacin.
No requiere memoria Desventajas:
adicional. Lento.
Rendimiento constante: Realiza numerosas
poca diferencia entre el comparaciones.
peor y el mejor caso.
Osirys
ORDENAMIENTO POR INSERCIN DIRECTA (InsertionSort)
Osirys
ANLISIS DEL ALGORITMO.
Estabilidad: Este algoritmo nunca intercambia registros con claves iguales. Por lo tanto es estable.
Requerimientos de Memoria: Una variable adicional para realizar los intercambios.
Tiempo de Ejecucin: Para una lista de n elementos el ciclo externo se ejecuta n1 veces. El ciclo interno se ejecuta
como mximo una vez en la primera iteracin, 2 veces en la segunda, 3 veces en la tercera, etc.
Ventajas:
Fcil implementacin.
Requerimientos mnimos de memoria.
Desventajas:
Lento.
Jose
Realiza numerosas comparaciones.
METODO DE LA BURBUJA (BubbleSort)
La idea bsica del ordenamiento de la burbuja es recorrer el conjunto de elementos en forma secuencial varias
veces. Cada paso compara un elemento del conjunto con su sucesor (x[i] con x[i+i]), e intercambia los dos
elementos si no estn en el orden adecuado.
El algoritmo utiliza una bandera que cambia cuando se realiza algn intercambio de valores, y permanece intacta
cuando no se intercambia ningn valor, pudiendo as detener el ciclo y terminar el proceso de ordenamiento
cuando no se realicen intercambios, lo que indica que este ya est ordenado.
Este algoritmo es de fcil comprensin y programacin pero es poco eficiente puesto que existen n-1 pasos y n-
i comprobaciones en cada paso, aunque es mejor que el algoritmo de ordenamiento por intercambio.
Jess
De cadena Knuth-Morris-Pratt
Jose
De cadena Boye-Moore
El algoritmo de bsqueda de cadenas Boyer-Moore es un particularmente eficiente algoritmo de bsqueda de
cadenas. El algoritmo pre procesa la cadena objetivo (clave) que est siendo buscada, pero no en la cadena en que
se busca (no como algunos algoritmos que procesan la cadena en que se busca y pueden entonces amortizar el
coste del pre procesamiento mediante bsqueda repetida). El tiempo de ejecucin del algoritmo Boyer-Moore,
aunque es lineal en el tamao de la cadena siendo buscada, puede tener un factor significativamente ms bajo que
muchos otros algoritmos de bsqueda: no necesita comprobar cada carcter de la cadena que es buscada, puesto
que salta algunos de ellos. Generalmente el algoritmo es ms rpido cuanto ms grande es la clave que es
buscada, usa la informacin conseguida desde un intento para descartar tantas posiciones del texto como sean
posibles en donde la cadena no coincida.
Jose