SlideShare una empresa de Scribd logo
1 de 44
Orientada en C++
ORDENACIÓN Y BÚSQUEDA
Por:
Jorge Mendoza | Fatima Arrocha | Alexis Credidio | Carlos Ureña
Introducción
La ordenación por inserción es una manera muy natural de ordenar para un ser
humano, y puede usarse fácilmente para ordenar por ejemplo un mazo de cartas
numeradas en forma arbitraria. La ordenación en la vida cotidiana es muy útil y se
aplica en programación en infinidades de casos, es bueno estudiarlos para reconocer
rápidamente cual usar en cada situación o problemática que el programa requiera. El
método de burbuja se da su nombre por que ordena los n elementos de forma con la
que suben por la lista los elementos durante los intercambios, como si fueran
pequeñas "burbujas".
- Alexis Credidio
(Faltan mas introducciones)
Contenidos
1. Conceptos preliminares ………………………………………………………………………..….
2. Ordenamiento de Datos ……………………………………………………………………………
3. ¿Cómo se sabe cuál es el mejor algoritmo? ………………………………………………
4. Concepto de ordenación ………………………………………………………………………….
5. Búsqueda de datos …………………………………………………………………………………..
6. Conclusiones …………………………………………………………………………………………….
7. Bibliografía ………………………………………………………………………………………….......
Ir
Ir
Ir
Ir
Ir
Ir
Ir
1. Conceptos preliminares
1.1 Clave:
La parte de un registro por la cual se
ordena la lista. Por ejemplo, una lista
de registros con campos nombre,
dirección y teléfono se puede ordenar
alfabéticamente de acuerdo a la clave
nombre. En este caso los campos
dirección y teléfono no se toman en
cuenta en el ordenamiento.
(2020). Retrieved 29 June 2020, from KESQUIVEL
1.2 Criterio de ordenamiento ó de comparación
EL criterio que utilizamos para
asignar valores a los registros con
base en una o más claves. De esta
manera decidimos si un registro es
mayor o menor que otro.
(2020). Retrieved 29 June 2020, from KESQUIVEL
1.3 Registro
Un grupo de datos que forman la
lista. Pueden ser datos atómicos
(enteros, caracteres, reales, etc.) o
grupos de ellos, que en C equivalen a
las estructuras.
(2020). Retrieved 29 June 2020, from KESQUIVEL
2. Ordenamiento de Datos
Por lo general, todos los algoritmos de
ordenación funcionan de una forma similar.
Toman una lista de elementos, en nuestro
caso un array, comparan sus elementos
siguiendo una estrategia definida y, según el
resultado de dicha comparación, mueven los
datos de un lugar a otro hasta conseguir una
lista (array) final ordenado. La ordenación o
clasificación de datos (sort, en inglés) es una
operación consistente en disponer un
conjunto de datos en algún determinado
orden con respecto a uno de los campos de
elementos del conjunto
(2020). Retrieved 29 June 2020, from KESQUIVEL
3. Cómo se sabe cuál es el mejor algoritmo
Cada algoritmo se comporta de modo diferente de acuerdo a la cantidad y la
forma en que se le presenten los datos, entre otras cosas. Debes conocer a
fondo el problema que quieres resolver, y aplicar el más adecuado. Aunque hay
algunas preguntas que te pueden ayudar a elegir.
(2020). Retrieved 29 June 2020, from KESQUIVEL
3.1 ¿Qué grado de orden tendrá la información que vas a manejar?
Si la información va a estar casi ordenada y no quieres complicarte, un
algoritmo sencillo como el ordenamiento burbuja será suficiente. Si por el
contrario los datos van a estar muy desordenados, un algoritmo poderoso
como Quicksort puede ser el más indicado. Y si no puedes hacer una
presunción sobre el grado de orden de la información, lo mejor será elegir un
algoritmo que se comporte de manera similar en cualquiera de estos dos casos
extremos.
BURBUJA QUICKSORT
(2020). Retrieved 29 June 2020, from KESQUIVEL
3.2 ¿Qué cantidad de datos vas a manipular
Tipo de datos Uso Tamaño
Texto corto (anteriormente
conocido como "Texto")
Datos alfanuméricos (nombres,
títulos, etc.)
Hasta 255 caracteres.
Texto largo (anteriormente
conocido como "Memo")
Grandes cantidades de datos
alfanuméricos: oraciones y párrafos.
Hasta 1 gigabyte (GB)
aproximadamente.
Número Datos numéricos. 1, 2, 4, 8 o 16 bytes.
Número grande Datos numéricos. 8 bytes.
Fecha y hora Fechas y horas. 8 bytes.
Moneda
Datos monetarios, almacenados con 4
posiciones decimales de precisión.
8 bytes.
Hipervínculo Una dirección de vínculo a un
documento o archivo en Internet.
Hasta 8192 (cada parte de un tipo
de datos Hipervínculo puede
contener un máximo de 2048
caracteres).
3.3 ¿Qué tipos de datos quieres ordenar?
Algunos algoritmos sólo funcionan con un tipo específico de datos (enteros,
enteros positivos, etc.) y otros son generales, es decir, aplicables a cualquier
tipo de dato..
Algunos algoritmos realizan múltiples intercambios (burbuja, inserción). Si los
registros son de gran tamaño estos intercambios son más lentos.
3.4 ¿Qué tamaño tienen los registros de tu lista?
Algoritmos de ordenamiento. Cap�tulo introduccion. (2020). Retrieved 29 June 2020, from CONCLASE
4. Concepto de ordenación
“Es un algoritmo que pone elementos de una lista o un vector en una secuencia dada
por una relación de orden, es decir, el resultado de salida ha de ser una permutación o
reordenamiento de la entrada que satisfaga la relación de orden dada”.
Las relaciones de orden más usadas:
 Orden numérico
 Orden lexicográfico
Se utilizan para:
 optimizar el uso de otros algoritmos (como los de búsqueda y
fusión) que requieren listas ordenadas para una ejecución
rápida.
 poner datos en forma canónica y para generar resultados
legibles por humanos
Orden
lexicográfico
Algoritmo de ordenamiento. (2020). Retrieved 29 June 2020, from WIKIPEDIA
4. Concepto de ordenación
Los algoritmos de ordenamiento se pueden clasificar en las siguientes maneras:
 Según el lugar donde se realice la ordenación
 Algoritmos de ordenamiento interno: en la memoria del ordenador.
 Algoritmos de ordenamiento externo: en un lugar externo como un disco
duro.
 Por el tiempo que tardan en realizar la ordenación
 Algoritmos de ordenación natural: Tarda lo mínimo posible cuando la entrada
está ordenada.
 Algoritmos de ordenación no natural: Tarda lo mínimo posible cuando la
entrada está inversamente ordenada.
 Por estabilidad: un ordenamiento estable mantiene el orden relativo que
tenían originalmente los elementos con claves iguales
Algoritmo de ordenamiento. (2020). Retrieved 29 June 2020, from WIKIPEDIA
4.1 Algoritmo de ordenación básicos
MÉTODOS DE ORDENAMIENTOS BÁSICOS
Ordenamiento por intercambio
Ordenamiento por selección
Ordenamiento por inserción
El método de intercambio se basa en comparar los elementos del arreglo e
intercambiarlos si su posición actual o inicial es contraria inversa a la deseada.
4.2 Ordenación por intercambio
BURBUJA
“Buble sort o ordenamiento por burbujeo”
Este es el método de ordenación más popular,
que resulta ser al mismo tiempo el más lento e
ineficaz.
QUICK SORT
“Ordenamiento rápido”
Este es un método rápido, más sofisticado en
su ejecución por la complejidad de las
operaciones a realizar, pero mucho más
eficiente en cuanto a tiempo de ejecución.
porras, e. (2012). Métodos de ordenamiento por intercambio. Retrieved 29 June 2020, from WIKIPEDIA
4.3 Ordenación por selección
Consiste en encontrar el menor de todos los elementos del arreglo o vector e
intercambiarlo con el que está en la primera posición. Luego el segundo más
pequeño, y así sucesivamente hasta ordenarlo todo.
Su implementación requiere O(n2) comparaciones e intercambios para ordenar
una secuencia de elementos.
VENTAJAS DESVENTAJAS
• Es fácil su implementación.
• No requiere memoria adicional.
• Realiza pocos intercambios.
• Tiene un rendimiento constante, pues
existe poca diferencia entre el peor y el
mejor caso.
• Es lento
• poco eficiente cuando se usa en listas
grandes o medianas.
• Realiza numerosas comparaciones.
Algoritmo de ordenamiento por selección - EcuRed. (2020). Retrieved 29 June 2020, from ECURED
4.4 Ordenación por inserción
• Algoritmo que ordena una lista
de n elementos.
• cuando hay k elementos ordenados el
compara los elementos detenidamente,
deteniéndose cuando hay un número
menor a otro.
EJEMPLO
1 2 3 4 5
Ordenamiento por inserción. (2020). Retrieved 29 June 2020, from WIKIPEDIA
4.4.1 Análisis del ordenamiento por el método de inserción
El ordenamiento por inserción, aunque
sigue siendo O(n2), funciona de una
manera ligeramente diferente. Siempre
mantiene una sublista ordenada en las
posiciones inferiores de la lista.
5.9. El ordenamiento por inserción — Solución de problemas con algoritmos y estructuras
de datos. (2020). Retrieved 29 June 2020, from RUNESTONE ACADEMY
Video completo
Explicación
gráfica del
funcionamient
o del algoritmo
de inserción en
DEV C++.
Ejemplo en C++
4.4.2 Ventajas y desventajas
VENTAJAS DESVENTAJAS
• Simplicidad.
• Buen rendimiento en una pequeña
lista.
• Fácil implementación.
• No requiere memoria adicional
• Muy lento en largas listas.
• Muchas comparaciones.
• Muchos intercambios.
4.5 Ordenación por burbuja (bubble sort)
Es un sencillo algoritmo de
ordenamiento que funciona revisando
cada elemento de la lista que va a ser
ordenada con el siguiente,
intercambiándolos de posición si están
en el orden equivocado.
1 2 3 4 5
Ordenamiento de burbuja. (2020). Retrieved 29 June 2020, from: WIKIPEDIA
4.5.1 Análisis del algoritmo de la burbuja
1. El ordenamiento burbuja hace
múltiples pasadas a lo largo de una
lista.
2. Compara los ítems adyacentes e
intercambia los que no están en
orden.
3. Cada pasada a lo largo de la lista
ubica el siguiente valor más
grande en su lugar apropiado.
En esencia, cada ítem “burbujea”
hasta el lugar al que pertenece.
Ejemplo en C++
Video completo
Explicación
gráfica del
funcionamient
o del algoritmo
de burbuja en
DEV C++.
4.5.2 Ventajas y desventajas
VENTAJAS DESVENTAJAS
• bastante sencillo y más utilizado por
su fácil comprensión y
programación.
• Código de reducido.
• Eficaz
• Consume bastante tiempo de
computadora.
• Requiere de muchas lecturas/
escrituras en memoria.
4.6 Ordenación Shell
• El método se denomina Shell en honor
de su inventor Donald Shell.
• El SHELL SORT es una generalización
del ordenamiento por inserción, solo
que este mueve elementos al mismo
tiempo.
Ordenamiento Shell. (2020). Retrieved 29 June 2020, from WIKIPEDIA
4.7 Ordenación rápida (quicksort):
El ordenamiento rápido (quicksort en inglés) es un
algoritmo de ordenación creado por el científico
británico en computación C. A. R. Hoare.
Quicksort en acción sobre una lista de
números aleatorios. Las líneas
horizontales son valores pivote.
El ordenamiento rápido se
caracteriza por utilizar “divide y
vencerás”.
Quicksort. (2020). Retrieved 28 June 2020, from WIKIPEDIA
Explicación
gráfica del
funcionamient
o del algoritmo
de ordenación
gráfica
Quicksort.
Video completo
4.7.1 Pasos que sigue el algoritmo QUICKSORT
1. Elegir un elemento del conjunto de elementos a ordenar, al que llamaremos pivote.
2. Resituar los demás elementos de la lista a cada lado del pivote, de manera que a un lado queden
todos los menores que él, y al otro los mayores. Los elementos iguales al pivote pueden ser
colocados tanto a su derecha como a su izquierda, dependiendo de la implementación deseada. En
este momento, el pivote ocupa exactamente el lugar que le corresponderá en la lista ordenada.
3. La lista queda separada en dos sublistas, una formada por los elementos a la izquierda del pivote, y
otra por los elementos a su derecha.
4. Repetir este proceso de forma recursiva para cada sublista mientras éstas contengan más de un
elemento. Una vez terminado este proceso todos los elementos estarán ordenados.
Algoritmos de ordenamiento. Capítulo quicksort. (2020). Retrieved 28 June 2020, from CONCLASE
4.7.2 Análisis del algoritmo QUICKSORT
 Estabilidad: No es estable.
 Requerimientos de Memoria: No requiere memoria adicional en
su forma recursiva. En su forma iterativa la necesita para la pila.
 Eficiencia: La eficiencia del algoritmo depende de la posición en
la que termine el pivote elegido.
Algoritmos de ordenamiento. Capítulo quicksort. (2020). Retrieved 28 June 2020, from conclase
A. Caso promedio: La complejidad para dividir una lista de n es O(n). Cada
sublista genera en promedio dos sublistas más de largo n/2. Por lo tanto, la
complejidad se define en forma recurrente como:
f(1) = 1
f(n) = n + 2 f(n/2)
La forma cerrada de esta expresión es:
f(n) = n log2n
Es decir, la complejidad es O(n log2n).
B. El peor caso: ocurre cuando la lista ya está ordenada, porque cada llamada
genera sólo una sublista (todos los elementos son menores que el elemento de
división). En este caso el rendimiento se degrada a O(n2). Con las optimizaciones
mencionadas arriba puede evitarse este comportamiento.
 Tiempo de Ejecución:
Algoritmos de ordenamiento. Capítulo quicksort. (2020). Retrieved 28 June 2020, from conclase
4.7.3 Ventajas y desventajas (QUICKSORT)
VENTAJAS DESVENTAJAS
• Muy rápido.
• No requiere memoria adicional.
• Ciclo interno es extremadamente corto.
• Requiere pocos recursos en
comparación a otros métodos de
ordenación.
• Implementación un poco más
complicada.
• Recursividad (utiliza muchos recursos).
• Mucha diferencia entre el peor y el
mejor caso.
• No es útil para aplicaciones de entrada
dinámica.
Algoritmos de ordenamiento. Capítulo quicksort. (2020). Retrieved 28 June 2020, from conclase
4.8 Ordenación Bin sort y Radix sort
• Definición: El ordenamiento por casilleros (bucket sort o bin sort, en inglés) es
un algoritmo de ordenamiento que distribuye todos los elementos a ordenar
entre un número finito de casilleros. Cada casillero sólo puede contener los
elementos que cumplan unas determinadas condiciones.
Ordenamiento por casilleros. (2020). Retrieved 28 June 2020, from WIKIPEDIA
Bin sort:
• El algoritmo contiene los siguientes pasos:
1. Crear una colección de casilleros vacíos
2. Colocar cada elemento a ordenar en un único casillero
3. Ordenar individualmente cada casillero
4. devolver los elementos de cada casillero concatenados por orden
4.8 Ordenación Binsort y Radixsort
Ordenamiento por casilleros. (2020). Retrieved 28 June 2020, from WIKIPEDIA
Binsort Pseudocódigo:
función bucket-sort(elementos, n)
casilleros ← colección de n listas
para i = 1 hasta longitud(elementos) hacer
c ← buscar el casillero adecuado
insertar elementos[i] en casillero[c]
fin para
para i = 1 hasta n hacer
ordenar(casilleros[i])
fin para
devolver la concatenación de casilleros[1],..., casilleros[n]
Aclaración:
elementos = lista de datos a ordenar
n = número de casilleros que queremos usar.
4.8 Ordenación Bin sort y Radix sort
• Definición: En informática, el ordenamiento Radix (radix sort en inglés) es
un algoritmo de ordenamiento que ordena enteros procesando sus dígitos de forma
individual. Como los enteros pueden representar cadenas de caracteres (por ejemplo,
nombres o fechas) y, especialmente, números en punto flotante especialmente
formateados, radix sort no está limitado sólo a los enteros.
Ordenamiento Radix. (2020). Retrieved 28 June 2020, from WIKIPEDIA
Radix sort:
• El algoritmo contiene los siguientes pasos:
1. Inicialización de contadores: se inician a cero.
2. Conteo: calcula un histograma de los valores del digito para las claves almacenadas
en el valor fuente S.
3. Suma parcial: se calcula la suma parcial de los contadores.
4. Movimientos: se les las claves y punteros del vector S y se escriben en el vector D.
(2020). Retrieved 28 June 2020, from UPCOMMONS
4.8 Ordenación Bin sort y Radix sort
(2020). Retrieved 28 June 2020, from UPCOMMONS
Radix sort Pseudocódigo:
5. Búsqueda de datos
5.1 Búsqueda secuencial:
En informática, la búsqueda
lineal o la búsqueda
secuencial es un método para
encontrar un valor objetivo
dentro de una lista. Ésta
comprueba secuencialmente
cada elemento de la lista para el
valor objetivo hasta que es
encontrado o hasta que todos
los elementos hayan sido
comparados
Búsqueda Lineal
Clase Algoritmos de búsqueda
Estructura de datos {{{datos}}}
Peor de los casos O(n)
Mejor de los casos O(1)
Caso promedio O(n)
Complejidad del peor de los casos O(1) iterativo
Búsqueda lineal. (2020). Retrieved 28 June 2020, from WIKIPEDIA
5.1 Búsqueda Binaria
• La búsqueda 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.
• La búsqueda binaria sólo se puede implementar si el arreglo está ordenado. La idea
consiste en ir dividiendo el arreglo en mitades.
Búsqueda binaria (artículo) | Algoritmos | Khan Academy. (2020). Retrieved 28 June 2020, from KHAN ACADEMY
Clic en el botón para ver el video
En este video podemos ver la estructura fuente de la búsqueda binaria en C++
5.1 Búsqueda Binaria
Ejemplo de búsqueda binaria:
Busqueda binaria en C++. (2020). Retrieved 28 June 2020, from CODIGOMALDITO
Conclusión
La programación ha ido evolucionando y centrándose en diferentes temas como por
ejemplo el de concepto preliminar que pertenece al Ordenamiento y búsqueda en C,
que esta es abarcada por 3 tipos que son los (registros, claves y criterio de
ordenamiento). Por lo general, todos los algoritmos de ordenamiento forman parte
de una lista de elementos, los cuales van siguiendo diferentes estrategias y mueven
todos los datos necesarios a diferentes lugares hasta llegar a conseguir una lista final
de ordenamiento.
Jorge Mendoza
Conclusión
Para estos métodos cabe destacar su buena comprensión y funcionabilidad ya que
utilizarlos de manera inadecuada, hace el algoritmo groso y lento es decir poco
eficaz. No es recomendable utilizarlos cuando el programa es demasiado extenso.
El ordenamiento de burbuja interactúa vagamente con el hardware de las CPU
modernas. Requiere al menos el doble de escrituras que el ordenamiento por
inserción, el doble de pérdidas de caché, y asintóticamente más predicción de
saltos. Varios experimentos de ordenamiento de cadenas en Java hechos por
Astrachan muestran que el ordenamiento de burbuja es 5 veces más lento que el
ordenamiento por inserción, y 40% más lento que el ordenamiento por selección.
- Alexis Credidio
Datos bibliográficos
Algoritmo de ordenamiento. (2020). Retrieved 29 June 2020, from
https://es.wikipedia.org/wiki/Algoritmo_de_ordenamiento
Algoritmo de ordenamiento por selección - EcuRed. (2020). Retrieved 29 June 2020, from
https://www.ecured.cu/Algoritmo_de_ordenamiento_por_selecci%C3%B3n
Cómo organizar una tabla de datos y los tipos de variables - Conceptos Claros. (2019). Retrieved 29 June
2020, from https://conceptosclaros.com/como-organizar-una-tabla-de-datos/
Algoritmos de ordenamiento. Cap�tulo introduccion. (2020). Retrieved 29 June 2020, from
http://c.conclase.net/orden/?cap=introduccion#intro
Datos bibliográficos
Ordenamiento de burbuja. (2020, 17 de mayo). Wikipedia, La enciclopedia libre. Fecha de consulta: 00:49,
junio 27, 2020
desde https://es.wikipedia.org/w/index.php?title=Ordenamiento_de_burbuja&oldid=126132478
Ordenamiento por inserción. (2020, 22 de junio). Wikipedia, La enciclopedia libre. Fecha de consulta:
00:50, junio 27, 2020
desde https://es.wikipedia.org/w/index.php?title=Ordenamiento_por_inserci%C3%B3n&oldid=127158202
El ordenamiento por inserción — Solución de problemas con algoritmos y estructuras de datos Website
title:Runestone.academy
https://runestone.academy/runestone/static/pythoned/SortSearch/ElOrdenamientoPorInsercion.html#:~:t
ext=El%20ordenamiento%20por%20inserci%C3%B3n%2C%20aunque,sea%20un%20%C3%ADtem%20m%C
3%A1s%20larga
Ordenamiento Shell. (2019, 8 de noviembre). Wikipedia, La enciclopedia libre. Fecha de consulta: 19:24,
junio 27, 2020 desde https://es.wikipedia.org/w/index.php?title=Ordenamiento_Shell&oldid=121175966
Datos bibliográficos
Quicksort. (2020). Retrieved 29 June 2020, from https://es.wikipedia.org/wiki/Quicksort
Algoritmos de ordenamiento. Cap�tulo quicksor. (2020). Retrieved 29 June 2020, from
http://c.conclase.net/orden/?cap=quicksor
(2020). Retrieved 29 June 2020, from
https://upcommons.upc.edu/bitstream/handle/2117/93297/05Djg05de14.pdf?sequence=5&isAllowed=y
Ordenamiento por casilleros. (2020). Retrieved 29 June 2020, from
https://es.wikipedia.org/wiki/Ordenamiento_por_casilleros#:~:text=El%20ordenamiento%20por%20casille
ros%20(bucket,un%20n%C3%BAmero%20finito%20de%20casilleros.&text=Se%20trata%20de%20una%20g
eneralizaci%C3%B3n%20del%20algoritmo%20Pigeonhole%20sort
Ordenamiento Radix. (2020). Retrieved 29 June 2020, from
https://es.wikipedia.org/wiki/Ordenamiento_Radix
Por:
Jorge Mendoza | Fatima Arrocha | Alexis Credidio | Carlos Ureña

Más contenido relacionado

La actualidad más candente

Estructurade datos
Estructurade datosEstructurade datos
Estructurade datosDavidElizama
 
Algoritmo metodo quicksort
Algoritmo metodo quicksortAlgoritmo metodo quicksort
Algoritmo metodo quicksortPatricia Correa
 
Estructura de datos unidad 2 y 3
Estructura de datos unidad 2 y 3Estructura de datos unidad 2 y 3
Estructura de datos unidad 2 y 3pootalex
 
Abstracciones de datos
Abstracciones de datosAbstracciones de datos
Abstracciones de datosAriel Medina
 
Unidad 5 metodos de ordenamiento
Unidad 5 metodos de ordenamientoUnidad 5 metodos de ordenamiento
Unidad 5 metodos de ordenamientoUrban Skate House
 
Estructura de Datos - Unidad VI: Métodos de Búsqueda
Estructura de Datos - Unidad VI: Métodos de BúsquedaEstructura de Datos - Unidad VI: Métodos de Búsqueda
Estructura de Datos - Unidad VI: Métodos de BúsquedaJosé Antonio Sandoval Acosta
 
Estructura de Datos Unidad - V: Métodos de Ordenamiento
Estructura de Datos Unidad - V: Métodos de OrdenamientoEstructura de Datos Unidad - V: Métodos de Ordenamiento
Estructura de Datos Unidad - V: Métodos de OrdenamientoJosé Antonio Sandoval Acosta
 
Búsqueda secuencial en tabla ordenada
Búsqueda secuencial  en tabla ordenadaBúsqueda secuencial  en tabla ordenada
Búsqueda secuencial en tabla ordenadaEdwin Chavarria
 
Tipos de datos abstractos
Tipos de datos abstractosTipos de datos abstractos
Tipos de datos abstractosEnrique2194
 
Unidad 1 1
Unidad 1   1Unidad 1   1
Unidad 1 1VivianaG
 
Manejo De Memoria
Manejo De MemoriaManejo De Memoria
Manejo De Memoriamosh88
 
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 ordenamientoJosé Antonio Sandoval Acosta
 
Ordenacion y busqueda
Ordenacion y busquedaOrdenacion y busqueda
Ordenacion y busquedaOsirysRock
 
Una visión de las técnicas y métodos de análisis en entornos Big Data utiliza...
Una visión de las técnicas y métodos de análisis en entornos Big Data utiliza...Una visión de las técnicas y métodos de análisis en entornos Big Data utiliza...
Una visión de las técnicas y métodos de análisis en entornos Big Data utiliza...Victoria López
 

La actualidad más candente (20)

Estructurade datos
Estructurade datosEstructurade datos
Estructurade datos
 
S3-SCBC.pptx
S3-SCBC.pptxS3-SCBC.pptx
S3-SCBC.pptx
 
Algoritmo metodo quicksort
Algoritmo metodo quicksortAlgoritmo metodo quicksort
Algoritmo metodo quicksort
 
Mergesort
MergesortMergesort
Mergesort
 
Estructura de datos unidad 2 y 3
Estructura de datos unidad 2 y 3Estructura de datos unidad 2 y 3
Estructura de datos unidad 2 y 3
 
Abstracciones de datos
Abstracciones de datosAbstracciones de datos
Abstracciones de datos
 
Unidad 5 metodos de ordenamiento
Unidad 5 metodos de ordenamientoUnidad 5 metodos de ordenamiento
Unidad 5 metodos de ordenamiento
 
Estructura de Datos - Unidad VI: Métodos de Búsqueda
Estructura de Datos - Unidad VI: Métodos de BúsquedaEstructura de Datos - Unidad VI: Métodos de Búsqueda
Estructura de Datos - Unidad VI: Métodos de Búsqueda
 
Estructura de Datos Unidad - V: Métodos de Ordenamiento
Estructura de Datos Unidad - V: Métodos de OrdenamientoEstructura de Datos Unidad - V: Métodos de Ordenamiento
Estructura de Datos Unidad - V: Métodos de Ordenamiento
 
Unidad 5
Unidad 5Unidad 5
Unidad 5
 
Búsqueda secuencial en tabla ordenada
Búsqueda secuencial  en tabla ordenadaBúsqueda secuencial  en tabla ordenada
Búsqueda secuencial en tabla ordenada
 
Datos abstractos
Datos abstractosDatos abstractos
Datos abstractos
 
Tipos de datos abstractos
Tipos de datos abstractosTipos de datos abstractos
Tipos de datos abstractos
 
Busqueda
BusquedaBusqueda
Busqueda
 
Unidad 1 1
Unidad 1   1Unidad 1   1
Unidad 1 1
 
Manejo De Memoria
Manejo De MemoriaManejo De Memoria
Manejo De Memoria
 
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
 
Ordenacion y busqueda
Ordenacion y busquedaOrdenacion y busqueda
Ordenacion y busqueda
 
Mètodos de Ordenaciòn y bùsqueda
Mètodos de Ordenaciòn y bùsquedaMètodos de Ordenaciòn y bùsqueda
Mètodos de Ordenaciòn y bùsqueda
 
Una visión de las técnicas y métodos de análisis en entornos Big Data utiliza...
Una visión de las técnicas y métodos de análisis en entornos Big Data utiliza...Una visión de las técnicas y métodos de análisis en entornos Big Data utiliza...
Una visión de las técnicas y métodos de análisis en entornos Big Data utiliza...
 

Similar a C++ Orientada Ordenación y Búsqueda Algoritmos

Recursividad, Ordenacion y Busqueda
Recursividad, Ordenacion y BusquedaRecursividad, Ordenacion y Busqueda
Recursividad, Ordenacion y BusquedaEuniceLeguiasGonzale
 
Ordenacion y busqueda
Ordenacion y busquedaOrdenacion y busqueda
Ordenacion y busquedaIrvingMoran4
 
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, Beneficiosejosue23
 
La Torre de Hanoi Monografía vanessa mayo 2010
La Torre de Hanoi  Monografía  vanessa mayo 2010La Torre de Hanoi  Monografía  vanessa mayo 2010
La Torre de Hanoi Monografía vanessa mayo 2010Vanessa Santiago
 
Algorismos de ordenacion y busqueda
Algorismos de ordenacion  y busquedaAlgorismos de ordenacion  y busqueda
Algorismos de ordenacion y busquedabbrti
 
Algoritmos y estructuras de datos en Python - digital.pdf
Algoritmos y estructuras de datos en Python - digital.pdfAlgoritmos y estructuras de datos en Python - digital.pdf
Algoritmos y estructuras de datos en Python - digital.pdfSirley43
 
Ordenamientos de vectores
Ordenamientos de vectoresOrdenamientos de vectores
Ordenamientos de vectoressirekarol
 
Metodos de odenamiento de vctores
Metodos de odenamiento de vctoresMetodos de odenamiento de vctores
Metodos de odenamiento de vctoresmishuhot
 
Análisis de algoritmo
Análisis de algoritmoAnálisis de algoritmo
Análisis de algoritmoGaston Demundo
 
Metodos de-ordenamiento
Metodos de-ordenamientoMetodos de-ordenamiento
Metodos de-ordenamientodeff000001
 

Similar a C++ Orientada Ordenación y Búsqueda Algoritmos (20)

Recursividad, Ordenacion y Busqueda
Recursividad, Ordenacion y BusquedaRecursividad, Ordenacion y Busqueda
Recursividad, Ordenacion y Busqueda
 
Ordenacion y busqueda
Ordenacion y busquedaOrdenacion y busqueda
Ordenacion y busqueda
 
Complejidad de Algoritmos
Complejidad de AlgoritmosComplejidad de Algoritmos
Complejidad de Algoritmos
 
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
 
Base de datos1024
Base de datos1024Base de datos1024
Base de datos1024
 
Porto
PortoPorto
Porto
 
Tema5
Tema5Tema5
Tema5
 
La Torre de Hanoi Monografía vanessa mayo 2010
La Torre de Hanoi  Monografía  vanessa mayo 2010La Torre de Hanoi  Monografía  vanessa mayo 2010
La Torre de Hanoi Monografía vanessa mayo 2010
 
Algorismos de ordenacion y busqueda
Algorismos de ordenacion  y busquedaAlgorismos de ordenacion  y busqueda
Algorismos de ordenacion y busqueda
 
Algoritmos y estructuras de datos en Python - digital.pdf
Algoritmos y estructuras de datos en Python - digital.pdfAlgoritmos y estructuras de datos en Python - digital.pdf
Algoritmos y estructuras de datos en Python - digital.pdf
 
Ordenamientos de vectores
Ordenamientos de vectoresOrdenamientos de vectores
Ordenamientos de vectores
 
Busqueda de datos
Busqueda de datosBusqueda de datos
Busqueda de datos
 
Algoritmos II_2020.pdf
Algoritmos II_2020.pdfAlgoritmos II_2020.pdf
Algoritmos II_2020.pdf
 
Metodos de odenamiento de vctores
Metodos de odenamiento de vctoresMetodos de odenamiento de vctores
Metodos de odenamiento de vctores
 
UNIDAD 4
UNIDAD 4UNIDAD 4
UNIDAD 4
 
Bases de datos de informatica
Bases de datos de informaticaBases de datos de informatica
Bases de datos de informatica
 
Unidad 7
Unidad 7Unidad 7
Unidad 7
 
Análisis de algoritmo
Análisis de algoritmoAnálisis de algoritmo
Análisis de algoritmo
 
Metodos de-ordenamiento
Metodos de-ordenamientoMetodos de-ordenamiento
Metodos de-ordenamiento
 
Metodo de busqueda
Metodo de busquedaMetodo de busqueda
Metodo de busqueda
 

Último

Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfromanmillans
 
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdf
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdfTarea 5-Selección de herramientas digitales-Carol Eraso.pdf
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdfCarol Andrea Eraso Guerrero
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...JAVIER SOLIS NOYOLA
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxMapyMerma1
 
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIATRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIAAbelardoVelaAlbrecht1
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDUgustavorojas179704
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024IES Vicent Andres Estelles
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteJuan Hernandez
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialpatriciaines1993
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfvictorbeltuce
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdfOswaldoGonzalezCruz
 

Último (20)

Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdf
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
Unidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDIUnidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDI
 
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdf
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdfTarea 5-Selección de herramientas digitales-Carol Eraso.pdf
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdf
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptx
 
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIATRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parte
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundial
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
Unidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDIUnidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDI
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
 

C++ Orientada Ordenación y Búsqueda Algoritmos

  • 1. Orientada en C++ ORDENACIÓN Y BÚSQUEDA Por: Jorge Mendoza | Fatima Arrocha | Alexis Credidio | Carlos Ureña
  • 2. Introducción La ordenación por inserción es una manera muy natural de ordenar para un ser humano, y puede usarse fácilmente para ordenar por ejemplo un mazo de cartas numeradas en forma arbitraria. La ordenación en la vida cotidiana es muy útil y se aplica en programación en infinidades de casos, es bueno estudiarlos para reconocer rápidamente cual usar en cada situación o problemática que el programa requiera. El método de burbuja se da su nombre por que ordena los n elementos de forma con la que suben por la lista los elementos durante los intercambios, como si fueran pequeñas "burbujas". - Alexis Credidio (Faltan mas introducciones)
  • 3. Contenidos 1. Conceptos preliminares ………………………………………………………………………..…. 2. Ordenamiento de Datos …………………………………………………………………………… 3. ¿Cómo se sabe cuál es el mejor algoritmo? ……………………………………………… 4. Concepto de ordenación …………………………………………………………………………. 5. Búsqueda de datos ………………………………………………………………………………….. 6. Conclusiones ……………………………………………………………………………………………. 7. Bibliografía …………………………………………………………………………………………....... Ir Ir Ir Ir Ir Ir Ir
  • 4. 1. Conceptos preliminares 1.1 Clave: La parte de un registro por la cual se ordena la lista. Por ejemplo, una lista de registros con campos nombre, dirección y teléfono se puede ordenar alfabéticamente de acuerdo a la clave nombre. En este caso los campos dirección y teléfono no se toman en cuenta en el ordenamiento. (2020). Retrieved 29 June 2020, from KESQUIVEL
  • 5. 1.2 Criterio de ordenamiento ó de comparación EL criterio que utilizamos para asignar valores a los registros con base en una o más claves. De esta manera decidimos si un registro es mayor o menor que otro. (2020). Retrieved 29 June 2020, from KESQUIVEL
  • 6. 1.3 Registro Un grupo de datos que forman la lista. Pueden ser datos atómicos (enteros, caracteres, reales, etc.) o grupos de ellos, que en C equivalen a las estructuras. (2020). Retrieved 29 June 2020, from KESQUIVEL
  • 7. 2. Ordenamiento de Datos Por lo general, todos los algoritmos de ordenación funcionan de una forma similar. Toman una lista de elementos, en nuestro caso un array, comparan sus elementos siguiendo una estrategia definida y, según el resultado de dicha comparación, mueven los datos de un lugar a otro hasta conseguir una lista (array) final ordenado. La ordenación o clasificación de datos (sort, en inglés) es una operación consistente en disponer un conjunto de datos en algún determinado orden con respecto a uno de los campos de elementos del conjunto (2020). Retrieved 29 June 2020, from KESQUIVEL
  • 8. 3. Cómo se sabe cuál es el mejor algoritmo Cada algoritmo se comporta de modo diferente de acuerdo a la cantidad y la forma en que se le presenten los datos, entre otras cosas. Debes conocer a fondo el problema que quieres resolver, y aplicar el más adecuado. Aunque hay algunas preguntas que te pueden ayudar a elegir. (2020). Retrieved 29 June 2020, from KESQUIVEL
  • 9. 3.1 ¿Qué grado de orden tendrá la información que vas a manejar? Si la información va a estar casi ordenada y no quieres complicarte, un algoritmo sencillo como el ordenamiento burbuja será suficiente. Si por el contrario los datos van a estar muy desordenados, un algoritmo poderoso como Quicksort puede ser el más indicado. Y si no puedes hacer una presunción sobre el grado de orden de la información, lo mejor será elegir un algoritmo que se comporte de manera similar en cualquiera de estos dos casos extremos. BURBUJA QUICKSORT (2020). Retrieved 29 June 2020, from KESQUIVEL
  • 10. 3.2 ¿Qué cantidad de datos vas a manipular Tipo de datos Uso Tamaño Texto corto (anteriormente conocido como "Texto") Datos alfanuméricos (nombres, títulos, etc.) Hasta 255 caracteres. Texto largo (anteriormente conocido como "Memo") Grandes cantidades de datos alfanuméricos: oraciones y párrafos. Hasta 1 gigabyte (GB) aproximadamente. Número Datos numéricos. 1, 2, 4, 8 o 16 bytes. Número grande Datos numéricos. 8 bytes. Fecha y hora Fechas y horas. 8 bytes. Moneda Datos monetarios, almacenados con 4 posiciones decimales de precisión. 8 bytes. Hipervínculo Una dirección de vínculo a un documento o archivo en Internet. Hasta 8192 (cada parte de un tipo de datos Hipervínculo puede contener un máximo de 2048 caracteres).
  • 11. 3.3 ¿Qué tipos de datos quieres ordenar? Algunos algoritmos sólo funcionan con un tipo específico de datos (enteros, enteros positivos, etc.) y otros son generales, es decir, aplicables a cualquier tipo de dato.. Algunos algoritmos realizan múltiples intercambios (burbuja, inserción). Si los registros son de gran tamaño estos intercambios son más lentos. 3.4 ¿Qué tamaño tienen los registros de tu lista? Algoritmos de ordenamiento. Cap�tulo introduccion. (2020). Retrieved 29 June 2020, from CONCLASE
  • 12. 4. Concepto de ordenación “Es un algoritmo que pone elementos de una lista o un vector en una secuencia dada por una relación de orden, es decir, el resultado de salida ha de ser una permutación o reordenamiento de la entrada que satisfaga la relación de orden dada”. Las relaciones de orden más usadas:  Orden numérico  Orden lexicográfico Se utilizan para:  optimizar el uso de otros algoritmos (como los de búsqueda y fusión) que requieren listas ordenadas para una ejecución rápida.  poner datos en forma canónica y para generar resultados legibles por humanos Orden lexicográfico Algoritmo de ordenamiento. (2020). Retrieved 29 June 2020, from WIKIPEDIA
  • 13. 4. Concepto de ordenación Los algoritmos de ordenamiento se pueden clasificar en las siguientes maneras:  Según el lugar donde se realice la ordenación  Algoritmos de ordenamiento interno: en la memoria del ordenador.  Algoritmos de ordenamiento externo: en un lugar externo como un disco duro.  Por el tiempo que tardan en realizar la ordenación  Algoritmos de ordenación natural: Tarda lo mínimo posible cuando la entrada está ordenada.  Algoritmos de ordenación no natural: Tarda lo mínimo posible cuando la entrada está inversamente ordenada.  Por estabilidad: un ordenamiento estable mantiene el orden relativo que tenían originalmente los elementos con claves iguales Algoritmo de ordenamiento. (2020). Retrieved 29 June 2020, from WIKIPEDIA
  • 14. 4.1 Algoritmo de ordenación básicos MÉTODOS DE ORDENAMIENTOS BÁSICOS Ordenamiento por intercambio Ordenamiento por selección Ordenamiento por inserción
  • 15. El método de intercambio se basa en comparar los elementos del arreglo e intercambiarlos si su posición actual o inicial es contraria inversa a la deseada. 4.2 Ordenación por intercambio BURBUJA “Buble sort o ordenamiento por burbujeo” Este es el método de ordenación más popular, que resulta ser al mismo tiempo el más lento e ineficaz. QUICK SORT “Ordenamiento rápido” Este es un método rápido, más sofisticado en su ejecución por la complejidad de las operaciones a realizar, pero mucho más eficiente en cuanto a tiempo de ejecución. porras, e. (2012). Métodos de ordenamiento por intercambio. Retrieved 29 June 2020, from WIKIPEDIA
  • 16. 4.3 Ordenación por selección Consiste en encontrar el menor de todos los elementos del arreglo o vector e intercambiarlo con el que está en la primera posición. Luego el segundo más pequeño, y así sucesivamente hasta ordenarlo todo. Su implementación requiere O(n2) comparaciones e intercambios para ordenar una secuencia de elementos. VENTAJAS DESVENTAJAS • Es fácil su implementación. • No requiere memoria adicional. • Realiza pocos intercambios. • Tiene un rendimiento constante, pues existe poca diferencia entre el peor y el mejor caso. • Es lento • poco eficiente cuando se usa en listas grandes o medianas. • Realiza numerosas comparaciones. Algoritmo de ordenamiento por selección - EcuRed. (2020). Retrieved 29 June 2020, from ECURED
  • 17. 4.4 Ordenación por inserción • Algoritmo que ordena una lista de n elementos. • cuando hay k elementos ordenados el compara los elementos detenidamente, deteniéndose cuando hay un número menor a otro. EJEMPLO 1 2 3 4 5 Ordenamiento por inserción. (2020). Retrieved 29 June 2020, from WIKIPEDIA
  • 18. 4.4.1 Análisis del ordenamiento por el método de inserción El ordenamiento por inserción, aunque sigue siendo O(n2), funciona de una manera ligeramente diferente. Siempre mantiene una sublista ordenada en las posiciones inferiores de la lista. 5.9. El ordenamiento por inserción — Solución de problemas con algoritmos y estructuras de datos. (2020). Retrieved 29 June 2020, from RUNESTONE ACADEMY
  • 19. Video completo Explicación gráfica del funcionamient o del algoritmo de inserción en DEV C++. Ejemplo en C++
  • 20. 4.4.2 Ventajas y desventajas VENTAJAS DESVENTAJAS • Simplicidad. • Buen rendimiento en una pequeña lista. • Fácil implementación. • No requiere memoria adicional • Muy lento en largas listas. • Muchas comparaciones. • Muchos intercambios.
  • 21. 4.5 Ordenación por burbuja (bubble sort) Es un sencillo algoritmo de ordenamiento que funciona revisando cada elemento de la lista que va a ser ordenada con el siguiente, intercambiándolos de posición si están en el orden equivocado. 1 2 3 4 5 Ordenamiento de burbuja. (2020). Retrieved 29 June 2020, from: WIKIPEDIA
  • 22. 4.5.1 Análisis del algoritmo de la burbuja 1. El ordenamiento burbuja hace múltiples pasadas a lo largo de una lista. 2. Compara los ítems adyacentes e intercambia los que no están en orden. 3. Cada pasada a lo largo de la lista ubica el siguiente valor más grande en su lugar apropiado. En esencia, cada ítem “burbujea” hasta el lugar al que pertenece.
  • 23. Ejemplo en C++ Video completo Explicación gráfica del funcionamient o del algoritmo de burbuja en DEV C++.
  • 24. 4.5.2 Ventajas y desventajas VENTAJAS DESVENTAJAS • bastante sencillo y más utilizado por su fácil comprensión y programación. • Código de reducido. • Eficaz • Consume bastante tiempo de computadora. • Requiere de muchas lecturas/ escrituras en memoria.
  • 25. 4.6 Ordenación Shell • El método se denomina Shell en honor de su inventor Donald Shell. • El SHELL SORT es una generalización del ordenamiento por inserción, solo que este mueve elementos al mismo tiempo. Ordenamiento Shell. (2020). Retrieved 29 June 2020, from WIKIPEDIA
  • 26. 4.7 Ordenación rápida (quicksort): El ordenamiento rápido (quicksort en inglés) es un algoritmo de ordenación creado por el científico británico en computación C. A. R. Hoare. Quicksort en acción sobre una lista de números aleatorios. Las líneas horizontales son valores pivote. El ordenamiento rápido se caracteriza por utilizar “divide y vencerás”. Quicksort. (2020). Retrieved 28 June 2020, from WIKIPEDIA
  • 27. Explicación gráfica del funcionamient o del algoritmo de ordenación gráfica Quicksort. Video completo
  • 28. 4.7.1 Pasos que sigue el algoritmo QUICKSORT 1. Elegir un elemento del conjunto de elementos a ordenar, al que llamaremos pivote. 2. Resituar los demás elementos de la lista a cada lado del pivote, de manera que a un lado queden todos los menores que él, y al otro los mayores. Los elementos iguales al pivote pueden ser colocados tanto a su derecha como a su izquierda, dependiendo de la implementación deseada. En este momento, el pivote ocupa exactamente el lugar que le corresponderá en la lista ordenada. 3. La lista queda separada en dos sublistas, una formada por los elementos a la izquierda del pivote, y otra por los elementos a su derecha. 4. Repetir este proceso de forma recursiva para cada sublista mientras éstas contengan más de un elemento. Una vez terminado este proceso todos los elementos estarán ordenados. Algoritmos de ordenamiento. Capítulo quicksort. (2020). Retrieved 28 June 2020, from CONCLASE
  • 29. 4.7.2 Análisis del algoritmo QUICKSORT  Estabilidad: No es estable.  Requerimientos de Memoria: No requiere memoria adicional en su forma recursiva. En su forma iterativa la necesita para la pila.  Eficiencia: La eficiencia del algoritmo depende de la posición en la que termine el pivote elegido. Algoritmos de ordenamiento. Capítulo quicksort. (2020). Retrieved 28 June 2020, from conclase
  • 30. A. Caso promedio: La complejidad para dividir una lista de n es O(n). Cada sublista genera en promedio dos sublistas más de largo n/2. Por lo tanto, la complejidad se define en forma recurrente como: f(1) = 1 f(n) = n + 2 f(n/2) La forma cerrada de esta expresión es: f(n) = n log2n Es decir, la complejidad es O(n log2n). B. El peor caso: ocurre cuando la lista ya está ordenada, porque cada llamada genera sólo una sublista (todos los elementos son menores que el elemento de división). En este caso el rendimiento se degrada a O(n2). Con las optimizaciones mencionadas arriba puede evitarse este comportamiento.  Tiempo de Ejecución: Algoritmos de ordenamiento. Capítulo quicksort. (2020). Retrieved 28 June 2020, from conclase
  • 31. 4.7.3 Ventajas y desventajas (QUICKSORT) VENTAJAS DESVENTAJAS • Muy rápido. • No requiere memoria adicional. • Ciclo interno es extremadamente corto. • Requiere pocos recursos en comparación a otros métodos de ordenación. • Implementación un poco más complicada. • Recursividad (utiliza muchos recursos). • Mucha diferencia entre el peor y el mejor caso. • No es útil para aplicaciones de entrada dinámica. Algoritmos de ordenamiento. Capítulo quicksort. (2020). Retrieved 28 June 2020, from conclase
  • 32. 4.8 Ordenación Bin sort y Radix sort • Definición: El ordenamiento por casilleros (bucket sort o bin sort, en inglés) es un algoritmo de ordenamiento que distribuye todos los elementos a ordenar entre un número finito de casilleros. Cada casillero sólo puede contener los elementos que cumplan unas determinadas condiciones. Ordenamiento por casilleros. (2020). Retrieved 28 June 2020, from WIKIPEDIA Bin sort: • El algoritmo contiene los siguientes pasos: 1. Crear una colección de casilleros vacíos 2. Colocar cada elemento a ordenar en un único casillero 3. Ordenar individualmente cada casillero 4. devolver los elementos de cada casillero concatenados por orden
  • 33. 4.8 Ordenación Binsort y Radixsort Ordenamiento por casilleros. (2020). Retrieved 28 June 2020, from WIKIPEDIA Binsort Pseudocódigo: función bucket-sort(elementos, n) casilleros ← colección de n listas para i = 1 hasta longitud(elementos) hacer c ← buscar el casillero adecuado insertar elementos[i] en casillero[c] fin para para i = 1 hasta n hacer ordenar(casilleros[i]) fin para devolver la concatenación de casilleros[1],..., casilleros[n] Aclaración: elementos = lista de datos a ordenar n = número de casilleros que queremos usar.
  • 34. 4.8 Ordenación Bin sort y Radix sort • Definición: En informática, el ordenamiento Radix (radix sort en inglés) es un algoritmo de ordenamiento que ordena enteros procesando sus dígitos de forma individual. Como los enteros pueden representar cadenas de caracteres (por ejemplo, nombres o fechas) y, especialmente, números en punto flotante especialmente formateados, radix sort no está limitado sólo a los enteros. Ordenamiento Radix. (2020). Retrieved 28 June 2020, from WIKIPEDIA Radix sort: • El algoritmo contiene los siguientes pasos: 1. Inicialización de contadores: se inician a cero. 2. Conteo: calcula un histograma de los valores del digito para las claves almacenadas en el valor fuente S. 3. Suma parcial: se calcula la suma parcial de los contadores. 4. Movimientos: se les las claves y punteros del vector S y se escriben en el vector D. (2020). Retrieved 28 June 2020, from UPCOMMONS
  • 35. 4.8 Ordenación Bin sort y Radix sort (2020). Retrieved 28 June 2020, from UPCOMMONS Radix sort Pseudocódigo:
  • 36. 5. Búsqueda de datos 5.1 Búsqueda secuencial: En informática, la búsqueda lineal o la búsqueda secuencial es un método para encontrar un valor objetivo dentro de una lista. Ésta comprueba secuencialmente cada elemento de la lista para el valor objetivo hasta que es encontrado o hasta que todos los elementos hayan sido comparados Búsqueda Lineal Clase Algoritmos de búsqueda Estructura de datos {{{datos}}} Peor de los casos O(n) Mejor de los casos O(1) Caso promedio O(n) Complejidad del peor de los casos O(1) iterativo Búsqueda lineal. (2020). Retrieved 28 June 2020, from WIKIPEDIA
  • 37. 5.1 Búsqueda Binaria • La búsqueda 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. • La búsqueda binaria sólo se puede implementar si el arreglo está ordenado. La idea consiste en ir dividiendo el arreglo en mitades. Búsqueda binaria (artículo) | Algoritmos | Khan Academy. (2020). Retrieved 28 June 2020, from KHAN ACADEMY Clic en el botón para ver el video En este video podemos ver la estructura fuente de la búsqueda binaria en C++
  • 38. 5.1 Búsqueda Binaria Ejemplo de búsqueda binaria: Busqueda binaria en C++. (2020). Retrieved 28 June 2020, from CODIGOMALDITO
  • 39. Conclusión La programación ha ido evolucionando y centrándose en diferentes temas como por ejemplo el de concepto preliminar que pertenece al Ordenamiento y búsqueda en C, que esta es abarcada por 3 tipos que son los (registros, claves y criterio de ordenamiento). Por lo general, todos los algoritmos de ordenamiento forman parte de una lista de elementos, los cuales van siguiendo diferentes estrategias y mueven todos los datos necesarios a diferentes lugares hasta llegar a conseguir una lista final de ordenamiento. Jorge Mendoza
  • 40. Conclusión Para estos métodos cabe destacar su buena comprensión y funcionabilidad ya que utilizarlos de manera inadecuada, hace el algoritmo groso y lento es decir poco eficaz. No es recomendable utilizarlos cuando el programa es demasiado extenso. El ordenamiento de burbuja interactúa vagamente con el hardware de las CPU modernas. Requiere al menos el doble de escrituras que el ordenamiento por inserción, el doble de pérdidas de caché, y asintóticamente más predicción de saltos. Varios experimentos de ordenamiento de cadenas en Java hechos por Astrachan muestran que el ordenamiento de burbuja es 5 veces más lento que el ordenamiento por inserción, y 40% más lento que el ordenamiento por selección. - Alexis Credidio
  • 41. Datos bibliográficos Algoritmo de ordenamiento. (2020). Retrieved 29 June 2020, from https://es.wikipedia.org/wiki/Algoritmo_de_ordenamiento Algoritmo de ordenamiento por selección - EcuRed. (2020). Retrieved 29 June 2020, from https://www.ecured.cu/Algoritmo_de_ordenamiento_por_selecci%C3%B3n Cómo organizar una tabla de datos y los tipos de variables - Conceptos Claros. (2019). Retrieved 29 June 2020, from https://conceptosclaros.com/como-organizar-una-tabla-de-datos/ Algoritmos de ordenamiento. Cap�tulo introduccion. (2020). Retrieved 29 June 2020, from http://c.conclase.net/orden/?cap=introduccion#intro
  • 42. Datos bibliográficos Ordenamiento de burbuja. (2020, 17 de mayo). Wikipedia, La enciclopedia libre. Fecha de consulta: 00:49, junio 27, 2020 desde https://es.wikipedia.org/w/index.php?title=Ordenamiento_de_burbuja&oldid=126132478 Ordenamiento por inserción. (2020, 22 de junio). Wikipedia, La enciclopedia libre. Fecha de consulta: 00:50, junio 27, 2020 desde https://es.wikipedia.org/w/index.php?title=Ordenamiento_por_inserci%C3%B3n&oldid=127158202 El ordenamiento por inserción — Solución de problemas con algoritmos y estructuras de datos Website title:Runestone.academy https://runestone.academy/runestone/static/pythoned/SortSearch/ElOrdenamientoPorInsercion.html#:~:t ext=El%20ordenamiento%20por%20inserci%C3%B3n%2C%20aunque,sea%20un%20%C3%ADtem%20m%C 3%A1s%20larga Ordenamiento Shell. (2019, 8 de noviembre). Wikipedia, La enciclopedia libre. Fecha de consulta: 19:24, junio 27, 2020 desde https://es.wikipedia.org/w/index.php?title=Ordenamiento_Shell&oldid=121175966
  • 43. Datos bibliográficos Quicksort. (2020). Retrieved 29 June 2020, from https://es.wikipedia.org/wiki/Quicksort Algoritmos de ordenamiento. Cap�tulo quicksor. (2020). Retrieved 29 June 2020, from http://c.conclase.net/orden/?cap=quicksor (2020). Retrieved 29 June 2020, from https://upcommons.upc.edu/bitstream/handle/2117/93297/05Djg05de14.pdf?sequence=5&isAllowed=y Ordenamiento por casilleros. (2020). Retrieved 29 June 2020, from https://es.wikipedia.org/wiki/Ordenamiento_por_casilleros#:~:text=El%20ordenamiento%20por%20casille ros%20(bucket,un%20n%C3%BAmero%20finito%20de%20casilleros.&text=Se%20trata%20de%20una%20g eneralizaci%C3%B3n%20del%20algoritmo%20Pigeonhole%20sort Ordenamiento Radix. (2020). Retrieved 29 June 2020, from https://es.wikipedia.org/wiki/Ordenamiento_Radix
  • 44. Por: Jorge Mendoza | Fatima Arrocha | Alexis Credidio | Carlos Ureña