SlideShare una empresa de Scribd logo
1 de 17
ALGORITMOS DE ORDENAMIENTO Y
BUSQUEDA
Ordenamiento
Es la operación de arreglar los registros de una
tabla en algún orden secuencial de acuerdo a un
criterio de ordenamiento. El ordenamiento se
efectúa con base en el valor de algún campo en
un registro. El propósito principal de un
ordenamiento es el de facilitar las búsquedas 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 numérico, alfabético o incluso
alfanumérico, ascendente o descendente.
Osirys
Búsqueda
es aquel que está diseñado 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 más simple del problema es la
búsqueda de un número en un vector.
Osirys
Notación 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.
Científicos en computación emplean una forma
de categorizar y comparar los algoritmos, de tal
suerte que se pueda categorizar de forma rápida
el rendimiento de un algoritmo. Esta forma de
medir se llama la Notación Gran O: Big-O
Notation (BON).
Medardo
Esta notación expresa la ejecución de un algoritmo dado un parámetro de entrada (i.e. el tamaño de datos a procesar). La
notación normalmente es O(n)
Medardo
Básicamente notación gran O:
 crece en forma de la gráfica matemática.
 nos permite comparar los costos relativos de dos o
más algoritmos para resolver el mismo problema.
 Permite análisis de algoritmos, estima el consumo de
recursos de un algoritmo.
 Permite análisis de algoritmos también les da una
herramienta a los diseñadores de algoritmos para
estimar si una solución propuesta es probable que
satisfaga las restricciones de recursos de un problema.
El concepto de razón de crecimiento, es la razón a la cual
el costo de un algoritmo crece conforme el tamaño de la
entrada crece.
Una función f(n) se define de orden O(g(n)), es decir, f(n) =
O(g(n)) si existen constantes positivas n0 y c tales que: |
f(n) | = c * <= | g(n) | , para toda n > n0100 n3 => O(n3) ::
6n2 + 2n + 4 => O(n21024 => O(1)
1+2+3+4+...+n-1+n= n * (n+1)/2 = O(n2) Medardo
Quicksort
El método de ordenamiento rápido o método quicksort, es una
técnica basada en otra conocida con el nombre divide y
vencerás, que permite ordenar una cantidad de elementos en
un tiempo proporcional a n2 en el peor de los casos o a n log n
en el mejor de los casos. El algoritmo original es recursivo,
como la técnica en la que se basa.
 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 más de un elemento. Una vez terminado este proceso
todos los elementos estarán ordenados.Jesús
El ordenamiento por
montículos (heapsort
en inglés) es un
algoritmo de
ordenamiento no
recursivo, no estable,
con complejidad
computacional
Este algoritmo consiste en
almacenar todos los
elementos del vector a
ordenar en un montículo
(heap), y luego extraer el
nodo que queda como
nodo raíz del montículo
(cima) en sucesivas
iteraciones obteniendo el
conjunto ordenado.
Heapsort
Jesús
ORDENAMIENTO POR SELECCIÓN
(SelectionSort)
Buscas el elemento más pequeño de la lista.
Lo intercambias con el elemento ubicado en la primera posición de la lista.
Buscas el segundo elemento más pequeño de la lista.
Lo intercambias con el elemento que ocupa la segunda posición en la lista.
Repites este proceso hasta que hayas ordenado toda la lista.
Ventajas:
 Fácil implementación.
 No requiere memoria
adicional.
 Rendimiento constante:
poca diferencia entre el
peor y el mejor caso.
Desventajas:
 Lento.
 Realiza numerosas
comparaciones.
Osirys
ORDENAMIENTO POR INSERCIÓN DIRECTA (InsertionSort)
El algoritmo de ordenación por el método de inserción directa es un algoritmo relativamente sencillo
y se comporta razonablemente bien en gran cantidad de situaciones.
Completa la tripleta de los algoritmos de ordenación más básicos y de orden de complejidad
cuadrático, junto con SelectionSort y BubbleSort.
Se basa en intentar construir una lista ordenada en el interior del array a ordenar.
Osirys
ANÁLISIS 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 Ejecución: Para una lista de n elementos el ciclo externo se ejecuta n1 veces. El ciclo interno se ejecuta
como máximo una vez en la primera iteración, 2 veces en la segunda, 3 veces en la tercera, etc.
Ventajas:
Fácil implementación.
Requerimientos mínimos de memoria.
Desventajas:
Lento.
Realiza numerosas comparaciones.Jose
METODO DE LA BURBUJA (BubbleSort)
La idea básica 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 están en el orden adecuado.
El algoritmo utiliza una bandera que cambia cuando se realiza algún intercambio de valores, y permanece intacta
cuando no se intercambia ningún 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 fácil comprensión y programación 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.
Jesús
De cadena Knuth-Morris-Pratt
El algoritmo KMP, trata de localizar la posición de comienzo de una cadena, dentro de
otra. Antes que nada con la cadena a localizar se pre calcula una tabla de saltos (conocida
como tabla de fallos) que después al examinar entre si las cadenas se utiliza para hacer
saltos cuando se localiza un fallo.
Jose
De cadena Boye-Moore
El algoritmo de búsqueda de cadenas Boyer-Moore es un particularmente eficiente algoritmo de búsqueda 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 búsqueda repetida). El tiempo de ejecución del algoritmo Boyer-Moore,
aunque es lineal en el tamaño de la cadena siendo buscada, puede tener un factor significativamente más bajo que
muchos otros algoritmos de búsqueda: no necesita comprobar cada carácter de la cadena que es buscada, puesto
que salta algunos de ellos. Generalmente el algoritmo es más rápido cuanto más grande es la clave que es
buscada, usa la información conseguida desde un intento para descartar tantas posiciones del texto como sean
posibles en donde la cadena no coincida.
Jose
Ordenacion y busqueda

Más contenido relacionado

La actualidad más candente

Algoritmos de busqueda
Algoritmos de busquedaAlgoritmos de busqueda
Algoritmos de busquedaJuan Navarro
 
Metodos de-ordenamiento
Metodos de-ordenamientoMetodos de-ordenamiento
Metodos de-ordenamientodeff000001
 
Binary search tree in data structures
Binary search tree in  data structuresBinary search tree in  data structures
Binary search tree in data structureschauhankapil
 
Busquedas binarias y secuenciales
Busquedas binarias y secuencialesBusquedas binarias y secuenciales
Busquedas binarias y secuencialesLuis Igoodbad
 
Método de Búsqueda Hash
Método de Búsqueda HashMétodo de Búsqueda Hash
Método de Búsqueda HashBlanca Parra
 
Presentación1
Presentación1Presentación1
Presentación1cipq
 
Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)
Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)
Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)Rubi Veronica Chimal Cuxin
 
Introduccion a la poo
Introduccion a la pooIntroduccion a la poo
Introduccion a la pooBoris Salleg
 
Documento de Busqueda Binaria
Documento de Busqueda BinariaDocumento de Busqueda Binaria
Documento de Busqueda BinariaSanTy BizZle
 
Hash table
Hash tableHash table
Hash tableVu Tran
 
Clase 10 Estructuras De Datos Y Arreglos
Clase 10 Estructuras De Datos Y ArreglosClase 10 Estructuras De Datos Y Arreglos
Clase 10 Estructuras De Datos Y Arreglossalomonaquino
 
Busqueda secuencial
Busqueda secuencialBusqueda secuencial
Busqueda secuencialAngy Yanezz
 
Pilas como estructura de datos..
Pilas como estructura de datos..Pilas como estructura de datos..
Pilas como estructura de datos..NANO-06
 
Busqueda Binaria
Busqueda BinariaBusqueda Binaria
Busqueda BinariaITCV
 
Cuadro comparativo algoritmos de busqueda
Cuadro comparativo algoritmos de busquedaCuadro comparativo algoritmos de busqueda
Cuadro comparativo algoritmos de busquedaCristopher Morales Ruiz
 

La actualidad más candente (20)

Busqueda Binaria
Busqueda BinariaBusqueda Binaria
Busqueda Binaria
 
Algoritmos de busqueda
Algoritmos de busquedaAlgoritmos de busqueda
Algoritmos de busqueda
 
Metodos de-ordenamiento
Metodos de-ordenamientoMetodos de-ordenamiento
Metodos de-ordenamiento
 
Binary search tree in data structures
Binary search tree in  data structuresBinary search tree in  data structures
Binary search tree in data structures
 
Busquedas binarias y secuenciales
Busquedas binarias y secuencialesBusquedas binarias y secuenciales
Busquedas binarias y secuenciales
 
Método de Búsqueda Hash
Método de Búsqueda HashMétodo de Búsqueda Hash
Método de Búsqueda Hash
 
binary search tree
binary search treebinary search tree
binary search tree
 
Presentación1
Presentación1Presentación1
Presentación1
 
Pilas, colas, y listas estructura de datos
Pilas, colas, y listas estructura de datosPilas, colas, y listas estructura de datos
Pilas, colas, y listas estructura de datos
 
Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)
Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)
Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)
 
Introduccion a la poo
Introduccion a la pooIntroduccion a la poo
Introduccion a la poo
 
Listas
ListasListas
Listas
 
Documento de Busqueda Binaria
Documento de Busqueda BinariaDocumento de Busqueda Binaria
Documento de Busqueda Binaria
 
Hash table
Hash tableHash table
Hash table
 
Clase 10 Estructuras De Datos Y Arreglos
Clase 10 Estructuras De Datos Y ArreglosClase 10 Estructuras De Datos Y Arreglos
Clase 10 Estructuras De Datos Y Arreglos
 
Busqueda secuencial
Busqueda secuencialBusqueda secuencial
Busqueda secuencial
 
Pilas como estructura de datos..
Pilas como estructura de datos..Pilas como estructura de datos..
Pilas como estructura de datos..
 
Busqueda Binaria
Busqueda BinariaBusqueda Binaria
Busqueda Binaria
 
Cuadro comparativo algoritmos de busqueda
Cuadro comparativo algoritmos de busquedaCuadro comparativo algoritmos de busqueda
Cuadro comparativo algoritmos de busqueda
 
Listas,pilas y colas Estructura de Datos
Listas,pilas y colas Estructura de DatosListas,pilas y colas Estructura de Datos
Listas,pilas y colas Estructura de Datos
 

Similar a Ordenacion y busqueda

Similar a Ordenacion y busqueda (20)

Unidad 1 1
Unidad 1   1Unidad 1   1
Unidad 1 1
 
Ordenamiento en C++
Ordenamiento en C++Ordenamiento en C++
Ordenamiento en C++
 
Ordenamientos de vectores
Ordenamientos de vectoresOrdenamientos de vectores
Ordenamientos de vectores
 
Metodos de odenamiento de vctores
Metodos de odenamiento de vctoresMetodos de odenamiento de vctores
Metodos de odenamiento de vctores
 
1_Metodos.doc
1_Metodos.doc1_Metodos.doc
1_Metodos.doc
 
Ordenacion y busqueda
Ordenacion y busquedaOrdenacion y busqueda
Ordenacion y busqueda
 
Algoritmo por seleccion
Algoritmo por seleccionAlgoritmo por seleccion
Algoritmo por seleccion
 
Complejidad Computacional
Complejidad ComputacionalComplejidad Computacional
Complejidad Computacional
 
Algebra morelys lugo2
Algebra morelys lugo2Algebra morelys lugo2
Algebra morelys lugo2
 
Unidad 5
Unidad 5Unidad 5
Unidad 5
 
Unidad 5
Unidad 5Unidad 5
Unidad 5
 
metodos-de-ordenamiento.pdf
metodos-de-ordenamiento.pdfmetodos-de-ordenamiento.pdf
metodos-de-ordenamiento.pdf
 
Algoritmos de ordeamiento
Algoritmos de ordeamientoAlgoritmos de ordeamiento
Algoritmos de ordeamiento
 
Algoritmos de ordenación
Algoritmos de ordenaciónAlgoritmos de ordenación
Algoritmos de ordenación
 
Metodo de la burbuja en algoritmo
Metodo de la burbuja en algoritmo Metodo de la burbuja en algoritmo
Metodo de la burbuja en algoritmo
 
Algoritmo metodo quicksort
Algoritmo metodo quicksortAlgoritmo metodo quicksort
Algoritmo metodo quicksort
 
Estructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoEstructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamiento
 
Arreglos enitmar
Arreglos enitmarArreglos enitmar
Arreglos enitmar
 
Manejo de Estructura de Datos, Tipos, Beneficios
Manejo de Estructura de Datos, Tipos, BeneficiosManejo de Estructura de Datos, Tipos, Beneficios
Manejo de Estructura de Datos, Tipos, Beneficios
 
Bus99
Bus99Bus99
Bus99
 

Último

Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 

Último (10)

Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 

Ordenacion y busqueda

  • 1.
  • 3.
  • 4. Ordenamiento Es la operación de arreglar los registros de una tabla en algún orden secuencial de acuerdo a un criterio de ordenamiento. El ordenamiento se efectúa con base en el valor de algún campo en un registro. El propósito principal de un ordenamiento es el de facilitar las búsquedas 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 numérico, alfabético o incluso alfanumérico, ascendente o descendente. Osirys
  • 5. Búsqueda es aquel que está diseñado 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 más simple del problema es la búsqueda de un número en un vector. Osirys
  • 6. Notación 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. Científicos en computación emplean una forma de categorizar y comparar los algoritmos, de tal suerte que se pueda categorizar de forma rápida el rendimiento de un algoritmo. Esta forma de medir se llama la Notación Gran O: Big-O Notation (BON). Medardo
  • 7. Esta notación expresa la ejecución de un algoritmo dado un parámetro de entrada (i.e. el tamaño de datos a procesar). La notación normalmente es O(n) Medardo
  • 8. Básicamente notación gran O:  crece en forma de la gráfica matemática.  nos permite comparar los costos relativos de dos o más algoritmos para resolver el mismo problema.  Permite análisis de algoritmos, estima el consumo de recursos de un algoritmo.  Permite análisis de algoritmos también les da una herramienta a los diseñadores de algoritmos para estimar si una solución propuesta es probable que satisfaga las restricciones de recursos de un problema. El concepto de razón de crecimiento, es la razón a la cual el costo de un algoritmo crece conforme el tamaño de la entrada crece. Una función f(n) se define de orden O(g(n)), es decir, f(n) = O(g(n)) si existen constantes positivas n0 y c tales que: | f(n) | = c * <= | g(n) | , para toda n > n0100 n3 => O(n3) :: 6n2 + 2n + 4 => O(n21024 => O(1) 1+2+3+4+...+n-1+n= n * (n+1)/2 = O(n2) Medardo
  • 9. Quicksort El método de ordenamiento rápido o método quicksort, es una técnica basada en otra conocida con el nombre divide y vencerás, que permite ordenar una cantidad de elementos en un tiempo proporcional a n2 en el peor de los casos o a n log n en el mejor de los casos. El algoritmo original es recursivo, como la técnica en la que se basa.  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 más de un elemento. Una vez terminado este proceso todos los elementos estarán ordenados.Jesús
  • 10. El ordenamiento por montículos (heapsort en inglés) es un algoritmo de ordenamiento no recursivo, no estable, con complejidad computacional Este algoritmo consiste en almacenar todos los elementos del vector a ordenar en un montículo (heap), y luego extraer el nodo que queda como nodo raíz del montículo (cima) en sucesivas iteraciones obteniendo el conjunto ordenado. Heapsort Jesús
  • 11. ORDENAMIENTO POR SELECCIÓN (SelectionSort) Buscas el elemento más pequeño de la lista. Lo intercambias con el elemento ubicado en la primera posición de la lista. Buscas el segundo elemento más pequeño de la lista. Lo intercambias con el elemento que ocupa la segunda posición en la lista. Repites este proceso hasta que hayas ordenado toda la lista. Ventajas:  Fácil implementación.  No requiere memoria adicional.  Rendimiento constante: poca diferencia entre el peor y el mejor caso. Desventajas:  Lento.  Realiza numerosas comparaciones. Osirys
  • 12. ORDENAMIENTO POR INSERCIÓN DIRECTA (InsertionSort) El algoritmo de ordenación por el método de inserción directa es un algoritmo relativamente sencillo y se comporta razonablemente bien en gran cantidad de situaciones. Completa la tripleta de los algoritmos de ordenación más básicos y de orden de complejidad cuadrático, junto con SelectionSort y BubbleSort. Se basa en intentar construir una lista ordenada en el interior del array a ordenar. Osirys
  • 13. ANÁLISIS 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 Ejecución: Para una lista de n elementos el ciclo externo se ejecuta n1 veces. El ciclo interno se ejecuta como máximo una vez en la primera iteración, 2 veces en la segunda, 3 veces en la tercera, etc. Ventajas: Fácil implementación. Requerimientos mínimos de memoria. Desventajas: Lento. Realiza numerosas comparaciones.Jose
  • 14. METODO DE LA BURBUJA (BubbleSort) La idea básica 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 están en el orden adecuado. El algoritmo utiliza una bandera que cambia cuando se realiza algún intercambio de valores, y permanece intacta cuando no se intercambia ningún 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 fácil comprensión y programación 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. Jesús
  • 15. De cadena Knuth-Morris-Pratt El algoritmo KMP, trata de localizar la posición de comienzo de una cadena, dentro de otra. Antes que nada con la cadena a localizar se pre calcula una tabla de saltos (conocida como tabla de fallos) que después al examinar entre si las cadenas se utiliza para hacer saltos cuando se localiza un fallo. Jose
  • 16. De cadena Boye-Moore El algoritmo de búsqueda de cadenas Boyer-Moore es un particularmente eficiente algoritmo de búsqueda 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 búsqueda repetida). El tiempo de ejecución del algoritmo Boyer-Moore, aunque es lineal en el tamaño de la cadena siendo buscada, puede tener un factor significativamente más bajo que muchos otros algoritmos de búsqueda: no necesita comprobar cada carácter de la cadena que es buscada, puesto que salta algunos de ellos. Generalmente el algoritmo es más rápido cuanto más grande es la clave que es buscada, usa la información conseguida desde un intento para descartar tantas posiciones del texto como sean posibles en donde la cadena no coincida. Jose