Capitulo III:  Algoritmos sobre arrays
Algoritmos de búsqueda Los dos algoritmos más importantes son: la  búsqueda secuencial y la búsqueda binaria. La búsqueda secuencial puede realizarse en  cualquier tipo de arrays (no necesita que estén  ordenados), y es muy sencilla, pero es un método  poco eficiente. La búsqueda binaria sólo puede  utilizarse sobre arrays ordenados, y es algo más  complicada, pero es altamente eficiente.
Búsqueda secuencial Consiste en ir comparando cada elemento  del array con el elemento a buscar,  comenzando por el principio. Finalizara la  búsqueda cuando se localice el elemento o  cuando se llegue al final del array. Si se  encuentra el elemento, se devolverá como  resultado su posición; si no, se devolverá un  código de error que indique que el elemento no se  encuentra en el array.
Búsqueda binaria El algoritmo consiste en examinar primero el  elemento que ocupa el centro de la lista, si es el  que se busca ya se ha logrado la solución y si no,  se determina si el elemento buscado está en la  primera mitad (porque es inferior al elemento  central), en cuyo caso se descarta la segunda mitad, o si  está en la segunda mitad (porque es superior),  descartando la primera mitad. Se repite el proceso con la  sublista correspondiente hasta que se encuentre el  elemento o bien hasta que se determine que no está  porque se ha llegado a una sublista de 0 elementos.
Algoritmos de inserción Estos métodos consisten en añadir un  nuevo elemento al array. Siempre debe  verificarse que hay espacio disponible para  el nuevo elemento. Si el array no esta  ordenado, habrá que especificar la posición  donde se quiere insertar el nuevo elemento.  Si está ordenado, el propio algoritmo determinará  la posición que le corresponde al nuevo elemento.
Inserción en un array no ordenado Es necesario indicar la posición que debe  ocupar el nuevo elemento. Para insertar un  elemento en una determinada posición de  un array, deberá abrirse un hueco en dicha  posición, moviendo los elementos  posteriores un lugar, empezando por el  ultimo.
Inserción de un elemento en un array ordenado No hay que indicar ninguna posición, sino que ocupará la  posición que le corresponda según su valor. Pueden  contemplarse dos situaciones. Los elementos no pueden encontrarse repetidos en la lista. Si  el elemento que se desea insertar ya existe se lanza un  mensaje indicando que no se puede insertar el elemento,  caso contrario se averigua la posición que la corresponde y  se inserta en está. Los elementos pueden repetirse. En este caso, nos da igual  que el elemento a insertar se encuentre ya en el array
Algoritmos de ordenación Existen los métodos directos y los  Avanzados. Entre los directos hay el burbuja, inserción  directa y selección directa. Entre los avanzados están el QuickSort y el  HeapSort.
Burbuja La característica principal de este método  es el intercambio de pares de elementos  adyacentes. Consiste básicamente en hacer  varias pasadas sobre el array comparando  en cada una de ellas todos los elementos  adyacentes de forma que si no están  ordenados se intercambian.
Método de inserción directa Este método consiste en insertar cada  elemento, comenzando por el segundo y  hasta el final, en el lugar que le corresponde  en la secuencia ordenada que se va  formando a su izquierda.
Método de selección directa  Este método selecciona de la lista completa el  elemento con menor valor y se intercambia con el  primero, con lo que el primer elemento queda  definitivamente ordenado. A continuación, se  busca el elemento de menor valor de la sublista  comprendida entre el segundo y el último, y se  intercambia con el segundo elemento, y así  sucesivamente hasta que sólo quede un elemento,  que quedará definitivamente ordenado en el último  lugar.
Método de ordenación rápida (QuickSort) Consiste en particionar el array de forma que los  valores de la parte izquierda sean todos menores  o iguales que un determinado elemento del array  llamado pivote, y los de la parte derecha, mayores  o iguales que el pivote. Una vez hecho esto, se  particionan del mismo modo las partes izquierda y  derecha, haciendo lo mismo con las partes  resultantes , y así sucesivamente hasta que todas  las partes consten de un elemento, momento en el  cual se habrá conseguido ordenar el array.
Método del montículo (HeapSort) Este método es una variante del método  de ordenación  por selección, donde la búsqueda del elemento mínimo de  un array se realiza mediante técnicas basadas en la  construcción de un montículo o heap. Un montículo es un árbol binario que  cumple ciertas condiciones. Consideremos  dos tipos de montículos: Montículo ascendente (también llamado  main heap): en ellos se cumple que cada  nodo es menor o igual que sus hijos. Montículo descendente (o max heap): se cumple  que cada nodo es mayor o igual que sus hijos.

Más contenido relacionado

PPTX
Busqueda
PPTX
Busquedas binarias y secuenciales
PPTX
Metodo de busqueda secuencial
PPTX
Búsqueda binaria iterativa
PDF
Unidad 6 diana karina pech may
PPTX
Búsqueda secuencial en tabla ordenada
PDF
Metodos de busqueda
Busqueda
Busquedas binarias y secuenciales
Metodo de busqueda secuencial
Búsqueda binaria iterativa
Unidad 6 diana karina pech may
Búsqueda secuencial en tabla ordenada
Metodos de busqueda

La actualidad más candente (20)

PDF
Diapositivas unidad 6
PPTX
Diapositivas unidad 6
PPTX
Método de búsqueda binaria
PDF
E7 ensayo-ordenacion
PPTX
Arrays. drey aguilera 1
PPTX
PPTX
Vectores informaticos
PPTX
PPTX
Exposicion Busqueda
PDF
Unidad 6 metodos de busqueda
PDF
Presentación inserción directa y binaria
PPTX
Algoritmos de búsquedaDF
DOCX
Ordenamiento por insercion
DOCX
Descripción
PPT
Motores de busqueda
PDF
Investigaciones
DOCX
Manual de excel
PPT
PPT
Matemáticas en equipo
Diapositivas unidad 6
Diapositivas unidad 6
Método de búsqueda binaria
E7 ensayo-ordenacion
Arrays. drey aguilera 1
Vectores informaticos
Exposicion Busqueda
Unidad 6 metodos de busqueda
Presentación inserción directa y binaria
Algoritmos de búsquedaDF
Ordenamiento por insercion
Descripción
Motores de busqueda
Investigaciones
Manual de excel
Matemáticas en equipo
Publicidad

Destacado (16)

PPT
Arreglos En Una Dimension
PPTX
Busqueda secuencial
PDF
Diagramas de flujo
PDF
Ejercicios de vectores o arrays
PPT
Vectores Matrices I
PPT
Vectores Matrices I
DOC
Vectores en programacion
PDF
Arreglos en pseudocodigo 01
PDF
Ejemplos sobre diagramas de flujo
PDF
Ejercicios de arreglo
DOCX
Algoritmos y diagramas de flujos
PDF
Arreglos en PSeInt
PPTX
Ejercicios de algoritmos
PDF
Arreglos vectores pseint
PDF
Ejemplos de Algoritmos
Arreglos En Una Dimension
Busqueda secuencial
Diagramas de flujo
Ejercicios de vectores o arrays
Vectores Matrices I
Vectores Matrices I
Vectores en programacion
Arreglos en pseudocodigo 01
Ejemplos sobre diagramas de flujo
Ejercicios de arreglo
Algoritmos y diagramas de flujos
Arreglos en PSeInt
Ejercicios de algoritmos
Arreglos vectores pseint
Ejemplos de Algoritmos
Publicidad

Similar a Algoritmos sobre arrays (20)

PPTX
Metodos de ordenamiento
PPTX
Algoritmos para Ordenación, Búsqueda e Intercalación internas.pptx
PPT
Algoritmos de inserción en un arreglo ordenado sin repetición.
PPT
Algoritmos de inserción en un arreglo ordenado sin repetición.
PPTX
ALGORITMO DE BUSQUEDA.pptx
PPTX
Algoritmo de ordenamientoDF
PPT
Metodos De Ordenamiento
DOCX
Arreglos enitmar
DOC
Algoritmo de busqueda truncamiento
PDF
Ordenando collections
PPTX
Unidad 5
PDF
Algoritmos de ordenamiento
PDF
Angela y vicky I-B
DOCX
Ordenamiento por insercion
PPTX
Método de ordenación por inserción directa
PPTX
Ordenamiento c++
PPTX
Ordenamiento en C++
PPTX
Estructura de dato unidad 5
DOCX
Ordenamientos de vectores
Metodos de ordenamiento
Algoritmos para Ordenación, Búsqueda e Intercalación internas.pptx
Algoritmos de inserción en un arreglo ordenado sin repetición.
Algoritmos de inserción en un arreglo ordenado sin repetición.
ALGORITMO DE BUSQUEDA.pptx
Algoritmo de ordenamientoDF
Metodos De Ordenamiento
Arreglos enitmar
Algoritmo de busqueda truncamiento
Ordenando collections
Unidad 5
Algoritmos de ordenamiento
Angela y vicky I-B
Ordenamiento por insercion
Método de ordenación por inserción directa
Ordenamiento c++
Ordenamiento en C++
Estructura de dato unidad 5
Ordenamientos de vectores

Algoritmos sobre arrays

  • 1. Capitulo III: Algoritmos sobre arrays
  • 2. Algoritmos de búsqueda Los dos algoritmos más importantes son: la búsqueda secuencial y la búsqueda binaria. La búsqueda secuencial puede realizarse en cualquier tipo de arrays (no necesita que estén ordenados), y es muy sencilla, pero es un método poco eficiente. La búsqueda binaria sólo puede utilizarse sobre arrays ordenados, y es algo más complicada, pero es altamente eficiente.
  • 3. Búsqueda secuencial Consiste en ir comparando cada elemento del array con el elemento a buscar, comenzando por el principio. Finalizara la búsqueda cuando se localice el elemento o cuando se llegue al final del array. Si se encuentra el elemento, se devolverá como resultado su posición; si no, se devolverá un código de error que indique que el elemento no se encuentra en el array.
  • 4. Búsqueda binaria El algoritmo consiste en examinar primero el elemento que ocupa el centro de la lista, si es el que se busca ya se ha logrado la solución y si no, se determina si el elemento buscado está en la primera mitad (porque es inferior al elemento central), en cuyo caso se descarta la segunda mitad, o si está en la segunda mitad (porque es superior), descartando la primera mitad. Se repite el proceso con la sublista correspondiente hasta que se encuentre el elemento o bien hasta que se determine que no está porque se ha llegado a una sublista de 0 elementos.
  • 5. Algoritmos de inserción Estos métodos consisten en añadir un nuevo elemento al array. Siempre debe verificarse que hay espacio disponible para el nuevo elemento. Si el array no esta ordenado, habrá que especificar la posición donde se quiere insertar el nuevo elemento. Si está ordenado, el propio algoritmo determinará la posición que le corresponde al nuevo elemento.
  • 6. Inserción en un array no ordenado Es necesario indicar la posición que debe ocupar el nuevo elemento. Para insertar un elemento en una determinada posición de un array, deberá abrirse un hueco en dicha posición, moviendo los elementos posteriores un lugar, empezando por el ultimo.
  • 7. Inserción de un elemento en un array ordenado No hay que indicar ninguna posición, sino que ocupará la posición que le corresponda según su valor. Pueden contemplarse dos situaciones. Los elementos no pueden encontrarse repetidos en la lista. Si el elemento que se desea insertar ya existe se lanza un mensaje indicando que no se puede insertar el elemento, caso contrario se averigua la posición que la corresponde y se inserta en está. Los elementos pueden repetirse. En este caso, nos da igual que el elemento a insertar se encuentre ya en el array
  • 8. Algoritmos de ordenación Existen los métodos directos y los Avanzados. Entre los directos hay el burbuja, inserción directa y selección directa. Entre los avanzados están el QuickSort y el HeapSort.
  • 9. Burbuja La característica principal de este método es el intercambio de pares de elementos adyacentes. Consiste básicamente en hacer varias pasadas sobre el array comparando en cada una de ellas todos los elementos adyacentes de forma que si no están ordenados se intercambian.
  • 10. Método de inserción directa Este método consiste en insertar cada elemento, comenzando por el segundo y hasta el final, en el lugar que le corresponde en la secuencia ordenada que se va formando a su izquierda.
  • 11. Método de selección directa Este método selecciona de la lista completa el elemento con menor valor y se intercambia con el primero, con lo que el primer elemento queda definitivamente ordenado. A continuación, se busca el elemento de menor valor de la sublista comprendida entre el segundo y el último, y se intercambia con el segundo elemento, y así sucesivamente hasta que sólo quede un elemento, que quedará definitivamente ordenado en el último lugar.
  • 12. Método de ordenación rápida (QuickSort) Consiste en particionar el array de forma que los valores de la parte izquierda sean todos menores o iguales que un determinado elemento del array llamado pivote, y los de la parte derecha, mayores o iguales que el pivote. Una vez hecho esto, se particionan del mismo modo las partes izquierda y derecha, haciendo lo mismo con las partes resultantes , y así sucesivamente hasta que todas las partes consten de un elemento, momento en el cual se habrá conseguido ordenar el array.
  • 13. Método del montículo (HeapSort) Este método es una variante del método de ordenación por selección, donde la búsqueda del elemento mínimo de un array se realiza mediante técnicas basadas en la construcción de un montículo o heap. Un montículo es un árbol binario que cumple ciertas condiciones. Consideremos dos tipos de montículos: Montículo ascendente (también llamado main heap): en ellos se cumple que cada nodo es menor o igual que sus hijos. Montículo descendente (o max heap): se cumple que cada nodo es mayor o igual que sus hijos.