SlideShare una empresa de Scribd logo
UNIVERSIDAD DE PANAMÁ
CENTRO REGIONAL UNIVERSITARIO DE COCLÉ
FACULTAD DE INFORMÁTICA, ELECTRÓNICA Y COMUNICACIÓN
LIC. EN INGENIERÍA EN SISTEMAS INFORMÁTICOS
ORDENACIÓN Y BÚSQUEDA
ASIGNATURA:
PROGRAMACIÓN II (INF212)
DOCENTE:
LUSDIELKA G. HERNÁNDEZ
ESTUDIANTE:
IRVING MORÁN
JOSÉ GUTIÉRREZ
LUIS FIGUEROA
ALBIS CORONADO
2020
Objetivos
Una vez que se haya leído y estudiado este capítulo, usted podrá:
• Conocer los algoritmos basados en el intercambio de
elementos.
• Conocer el algoritmo de ordenación por inserción.
• Conocer el algoritmo de selección.
• Distinguir entre los algoritmos de ordenación basados en el
intercambio
y en la inserción.
• Saber la eficiencia de los métodos básicos de ordenación.
• Conocer los métodos más eficientes de ordenación.
• Aplicar métodos mas eficientes de ordenación de arrays.
• Ordenar vectores de objetos.
• Diferenciar entre búsqueda secuencial y búsqueda binaria.
Introducción
Muchas actividades humanas requieren que diferentes colecciones de elementos
utilizados se pongan en un orden específico. Las oficinas de correo y las empresas de
mensajería ordenan el correo y los paquetes por códigos postales con el objeto de
conseguir una entrega eficiente; las facturas telefónicas se ordenan por la fecha de las
llamadas; los anuarios o listines telefónicos se ordenan por orden alfabético de apellidos
con el fin último de encontrar fácilmente el número de teléfono deseado; los estudiantes
de una clase en la universidad se ordenan por sus apellidos o por los números de
expediente.
Por estas circunstancias una de las tareas que realizan más frecuentemente las
computadoras en el procesamiento de datos es la ordenación.
El estudio de diferentes métodos de ordenación es una tarea intrínsecamente interesante
desde un punto de vista teórico y, naturalmente, práctico. Este capítulo estudia los
algoritmos y las técnicas de ordenación más usuales y su implementación en Java;
también la manera de ordenar objetos con la funcionalidad que proporcionan las clases
en Java. De igual modo, se estudiará el análisis de los diferentes métodos de ordenación
con el objetivo de conseguir la máxima eficiencia en su uso real.
En el capítulo se analizarán los métodos básicos y los más avanzados empleados en
programas profesionales.
Conceptos
preliminares
Clave: es una pieza de información que controla la
operación de un algoritmo de criptografía.
Habitualmente, esta información es una secuencia de
números o letras mediante la cual, en criptografía, se
especifica la transformación del texto plano en texto
cifrado, o viceversa.
Criterio de ordenamiento: el criterio que utilizamos para
asignar valores a los registros con base en una o más
claves.
Registro: es un algoritmo que pone elementos de
una lista o un vector . Las relaciones de orden más
usadas son el orden numérico y el orden lexicográfico.
Ordenamiento de datos
¿Que es?
Es el procedimiento en el cual se
agrupan los registros en orden
definido, con el fin de facilitar la
búsqueda de datos ordenados en
secuencia. el cual puede ser
numérico, alfabético o incluso
alfanumérico, ascendente o
descendente, el cual puede ser
numérico, alfabético o incluso
alfanumérico, ascendente o
descendente.
¿Cuando se sabe cuando un
algoritmo es eficiente o mejor?
Un algoritmo es considerado eficiente si su consumo de recursos está en la media o por
debajo de los niveles aceptables. Hablando a grandes rasgos, 'aceptable' significa: que el
algoritmo corre en un tiempo razonable en una computadora dada
Grado de orden que tendrá el
algoritmo a manejar
Preciso: implica el orden
de realización de cada
uno de los pasos
Definido: si se sigue dos
veces, se obtiene el
mismo resultado.
Finito: Tiene un numero
determinado de pasos,
implica que tiene un fin.
Cantidad de datos o pasos a
manipular
1
Análisis del
problema Conducen al diseño detallado por medio
un código escrito en forma de un algoritmo
2
Diseño de
algoritmo
3 Codificación
Se implementa el algoritmo en un código escrito en
un lenguaje de programación. Refleja las ideas
desarrolladas en las etapas de análisis y diseño
4
Compilación y
ejecución
Traduce el programa fuente a programa en código
de maquina y lo ejecuta.
5 Verificación
Busca errores en las etapas anteriores y los elimina.
6 Depuración
7 Documentación
Son comentarios, etiquetas de texto, que facilitan la
comprensión del programa
Tipos de datos a ordenar
Se desea ordenar datos Algorítmicos los cuales
Utiliza un algoritmo y puede ser implementado en
una computadora Y datos Heurísticos: los Se
apoyan en el resultado obtenido en un análisis de
alternativas de experiencias anteriores similares.
Concepto de ordenación
Algoritmo de ordenación básicos
En computación y matemáticas un
algoritmo de ordenamiento es un
algoritmo que pone elementos de
una lista o un vector en una
secuencia dada por una relación
de orden
Ordenación por
intercambio
El algoritmo del
intercambio aunque es el
más sencillo de
implementar es uno de los
mas pobres en rendimiento.
Ordenación por
selección
Consiste en encontrar
el menor de todos los
elementos del vector e
intercambiarlo con el
que está en la primera
posición.
Ordenación por inserción
Es una manera muy natural de
ordenar para un ser humano, y
puede usarse fácilmente para
ordenar un mazo de cartas
numeradas en forma arbitraria.
Requiere operaciones para ordenar
una lista de elementos.
Ordenación por burbujas
(bubblesort)
Es un sencillo algoritmo
de ordenamiento. 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.
Ordenación Shell
El método de ordenamiento
Shell consiste en dividir el arreglo (o
la lista de elementos) en intervalos (o
bloques) de varios elementos para
organizarlos después por medio
del ordenamiento de inserción
directa
DATO CURIOSO: su nombre proviene del
creador Donald Shell.
Ordenación rápida (quicksort)
Es un algoritmo basado en la
técnica de divide y vencerás,
que permite, en promedio,
ordenar n elementos en un
tiempo proporcional a n log
n.
Ordenación Binsort
Es un algoritmo de
ordenamiento que
distribuye todos los
elementos a ordenar entre
un número finito de
casilleros.
Ordenación Radixsort
Radix es un algoritmo de
ordenamiento que ordena
enteros procesando sus
dígitos de forma
individual
Búsqueda de Datos
Video
Algoritmo de búsqueda
Un algoritmo de búsqueda es un conjunto de
instrucciones que están diseñadas 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.
Pseudocódigo del algoritmo
EjemploDatos de entrada:
vec: vector en el que se desea buscar el dato
tam: tamaño del vector.
Los subíndices válidos van desde 0 hasta tam-1 inclusive.
Puede representarse así: vec[0...tam) o vec[0...tam-1]. dato:
elemento que se quiere buscar.
Datos de entrada:
vec: vector en el que se desea buscar el dato
tam: tamaño del vector. Los subíndices válidos van desde 0 hasta
tam-1 inclusive. Puede representarse así: vec[0...tam) o
vec[0...tam-1].
dato: elemento que se quiere buscar.
Variables
pos: posición actual en el vector
pos = 0
while pos < tam:
if vec[pos] == dato:
Retorne verdadero y/o pos,
else:
pos = pos + 1
Fin (while)
Retorne falso,
Int busquedaSimple(int vector[n],int n, int dato){
Int i;
For(i=0; i<m; i++)}
If(dato==vector[i]){
Return i;
}
}
Return -1;
}
Búsqueda binaria
Se utiliza cuando el vector en el que queremos
determinar la existencia de un elemento está
previamente ordenado. Este algoritmo reduce el
tiempo de búsqueda considerablemente, ya que
disminuye exponencialmente el número de iteraciones
necesarias.
Para implementar este algoritmo se compara el
elemento a buscar con un elemento cualquiera del
vector (normalmente el elemento central): si el valor
de éste es mayor que el del elemento buscado se repite
el procedimiento en la parte del vector que va desde el
inicio de éste hasta el elemento tomado, en caso
contrario se toma la parte del vector que va desde el
elemento tomado hasta el final.
Ejemplo
Datos de entrada:
vec: vector en el que se desea buscar el dato
tam: tamaño del vector. Los subíndices válidos van desde 0 hasta tam-1 inclusive.
dato: elemento que se quiere buscar.
Variables
centro: subíndice central del intervalo
inf: límite inferior del intervalo
sup: límite superior del intervalo
inf = 0
sup = tam-1
Mientras inf <= sup:
centro = ((sup - inf) / 2) + inf // División entera: se trunca la fracción
Si vec[centro] == dato devolver verdadero y/o pos, de lo contrario:
Si dato < vec[centro] entonces:
sup = centro - 1
En caso contrario:
inf = centro + 1
Fin (Mientras)
Devolver Falso
Conclusión
A medida que fuimos desarrollando el trabajo fuimos aprendiendo más sobre este tema que por los vistos
tienes una amplitud en cuanto su uso primero empezando por la definición de preliminares dirigido a la
programación las diferentes partes que lo compones en este trabajo verán de forma más profunda este término
al igual que las claves, criterios de ordenación y registros como el segundo puntos tenemos ordenamiento de
datos el tercer punto como se sabe cuál es el mejor algoritmo. vemos las incógnitas que se forman con esta
pregunta el cuanto punto es el concepto de ordenación el cual tienes una gran variedad de sub temas en os
que destacan la ordenación por intercambio, por selección y por inserción la ordenación de burbuja la
ordenación de Shell la cual lleva ese nombre por su creador Donald Shell y el quick sort.
El cual es un poco difícil, pero gracias a su alta eficiencia esta está entre los mejores. Vimos las desventajas
de algunas ordenaciones para profundizar más en ellas los pasos que se siguen para desarrollar una
algoritmos de quick sort por ultimo en el curatos puntos las ordenación de Bin sort y Radix sort viento el
punto cinco búsqueda de datos y estos se divide en dos sub temas búsqueda secuencial que también se conoce
como búsqueda lineal y búsqueda binaria.
se conoció cada uno de los tipos de métodos de búsqueda ya que al momento de hacer un
programa extenso podríamos utilizar algunos de estos métodos y así encontrar la información más
rápida y no perder tanto tiempo.
Bibliografí
a
blogspot. (16 de 6 de 2016). blogspot. Obtenido de blogspot: http://ordendata.blogspot.com/
López. (s.f.). LAPA. Obtenido de
http://132.248.48.64/repositorio/moodle/pluginfile.php/1472/mod_resource/content/1/contenido/index.html#:~:text=El%20m%C3%A9todo
%20de%20ordenamiento%20Shell,del%20ordenamiento%20de%20inserci%C3%B3n%20directa.
lwh.free. (s.f.). Obtenido de lwh.free:
http://lwh.free.fr/pages/algo/tri/tri_rapide_es.html#:~:text=El%20algoritmo%20fundamental%20es%20el,y%20al%20otro%20los%20mayor
es.
Monografias. (15 de 5 de 2015). monografias. Obtenido de monografias:
https://www.monografias.com/trabajos15/algoritmos/algoritmos.shtml#DISE%C3%91O
quicksort. (s.f.). quicksort. Obtenido de http://quicksort.yolasite.com/antecedentes.php
rmurillo95. (s.f.). www.monografias.com. Obtenido de https://www.monografias.com/trabajos/algordenam/algordenam.shtml
Sarango, J. (s.f.). scribd. Obtenido de https://es.scribd.com/document/445950137/binsort-y-radixsort
Wandy, j. (s.f.). techlandia. Obtenido de techlandia: https://techlandia.com/ventajas-desventajas-algoritmos-ordenamiento-info_181515/
wiipedia. (s.f.). wikipedia . Obtenido de
https://es.wikipedia.org/wiki/Ordenamiento_por_casilleros#:~:text=El%20ordenamiento%20por%20casilleros%20(bucket,que%20cumplan
%20unas%20determinadas%20condiciones.
wikipedia. (s.f.). Obtenido de wikipedia: https://es.wikipedia.org/wiki/Ordenamiento_Radix
wikipedia. (21 de junio de 2020). Obtenido de https://es.wikipedia.org/wiki/Ordenamiento_por_selecci%C3%B3n
Willams, Jr., Louis F. (1975). A modification to the half-interval search (binary search) method. Proceedings of the 14th ACM Southeast
Conference. pp. 95-101. doi:10.1145/503561.503582.
Knuth, 1998, §6.2.1 ("Searching an ordered table"), subsection "Binary search".
Cormen et al., 2009, p. 39.
Weisstein, Eric W. «Binary Search». En Weisstein, Eric W, ed. MathWorld (en inglés). Wolfram Research.
Flores, Ivan; Madpis, George (1971). «Average binary search length for dense ordered lists». CACM 14 (9): 602-603.
doi:10.1145/362663.362752.
a b Bottenbruch, Hermann (1962).

Más contenido relacionado

La actualidad más candente

Metodo de busqueda
Metodo de busquedaMetodo de busqueda
Metodo de busqueda
Robert Rivero
 
Estructura de Datos : Ordenamiento Externo
Estructura de Datos : Ordenamiento Externo Estructura de Datos : Ordenamiento Externo
Estructura de Datos : Ordenamiento Externo
Carlos Criollo
 
Método de Búsqueda Hash
Método de Búsqueda HashMétodo de Búsqueda Hash
Método de Búsqueda HashBlanca Parra
 
Busqueda Binaria
Busqueda BinariaBusqueda Binaria
Busqueda BinariaITCV
 
Estructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busquedaEstructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busqueda
José Antonio Sandoval Acosta
 
Programación 3: listas enlazadas
Programación 3: listas enlazadasProgramación 3: listas enlazadas
Programación 3: listas enlazadas
Angel Vázquez Patiño
 
Presentación inserción directa y binaria
Presentación inserción directa y binariaPresentación inserción directa y binaria
Presentación inserción directa y binaria
Claudia Tona Castro
 
Cuadro comparativo algoritmos de ordenamiento
Cuadro comparativo algoritmos de ordenamientoCuadro comparativo algoritmos de ordenamiento
Cuadro comparativo algoritmos de ordenamiento
Lutzo Guzmán
 
Bucket sort
Bucket sortBucket sort
Bucket sort
eislenp
 
Colas en programacion
Colas en programacionColas en programacion
Colas en programacion
Luis Igoodbad
 
Arquitectura de Von Neumann
Arquitectura de Von NeumannArquitectura de Von Neumann
Arquitectura de Von Neumann
victor medra
 
Algoritmos de Ordenamiento Externo.
Algoritmos de Ordenamiento Externo.Algoritmos de Ordenamiento Externo.
Algoritmos de Ordenamiento Externo.
Universidad de Cuenca
 
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
José Antonio Sandoval Acosta
 
Exposicion Busqueda
Exposicion BusquedaExposicion Busqueda
Exposicion BusquedaAngie Suarez
 
Búsqueda secuencial y binaria
Búsqueda secuencial y binariaBúsqueda secuencial y binaria
Búsqueda secuencial y binaria
Alvaro Enrique Ruano
 
Arboles Binarios y Arboles Binarios de Busqueda
Arboles Binarios y Arboles Binarios de BusquedaArboles Binarios y Arboles Binarios de Busqueda
Arboles Binarios y Arboles Binarios de Busqueda
Kamila Nicole Molina Orellana
 
Algoritmo de ordenamiento: Heap Sort
Algoritmo de ordenamiento: Heap SortAlgoritmo de ordenamiento: Heap Sort
Algoritmo de ordenamiento: Heap Sort
Daniel Gomez Jaramillo
 

La actualidad más candente (20)

Metodo de busqueda
Metodo de busquedaMetodo de busqueda
Metodo de busqueda
 
Estructura de Datos : Ordenamiento Externo
Estructura de Datos : Ordenamiento Externo Estructura de Datos : Ordenamiento Externo
Estructura de Datos : Ordenamiento Externo
 
Método de Búsqueda Hash
Método de Búsqueda HashMétodo de Búsqueda Hash
Método de Búsqueda Hash
 
Busqueda Binaria
Busqueda BinariaBusqueda Binaria
Busqueda Binaria
 
Estructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busquedaEstructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busqueda
 
Programación 3: listas enlazadas
Programación 3: listas enlazadasProgramación 3: listas enlazadas
Programación 3: listas enlazadas
 
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
 
Pilas y colas
Pilas y colasPilas y colas
Pilas y colas
 
Presentación inserción directa y binaria
Presentación inserción directa y binariaPresentación inserción directa y binaria
Presentación inserción directa y binaria
 
Cuadro comparativo algoritmos de ordenamiento
Cuadro comparativo algoritmos de ordenamientoCuadro comparativo algoritmos de ordenamiento
Cuadro comparativo algoritmos de ordenamiento
 
Bucket sort
Bucket sortBucket sort
Bucket sort
 
Colas en programacion
Colas en programacionColas en programacion
Colas en programacion
 
Arquitectura de Von Neumann
Arquitectura de Von NeumannArquitectura de Von Neumann
Arquitectura de Von Neumann
 
ESTRUCTURAS ANIDADAS
ESTRUCTURAS ANIDADASESTRUCTURAS ANIDADAS
ESTRUCTURAS ANIDADAS
 
Algoritmos de Ordenamiento Externo.
Algoritmos de Ordenamiento Externo.Algoritmos de Ordenamiento Externo.
Algoritmos de Ordenamiento Externo.
 
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
 
Exposicion Busqueda
Exposicion BusquedaExposicion Busqueda
Exposicion Busqueda
 
Búsqueda secuencial y binaria
Búsqueda secuencial y binariaBúsqueda secuencial y binaria
Búsqueda secuencial y binaria
 
Arboles Binarios y Arboles Binarios de Busqueda
Arboles Binarios y Arboles Binarios de BusquedaArboles Binarios y Arboles Binarios de Busqueda
Arboles Binarios y Arboles Binarios de Busqueda
 
Algoritmo de ordenamiento: Heap Sort
Algoritmo de ordenamiento: Heap SortAlgoritmo de ordenamiento: Heap Sort
Algoritmo de ordenamiento: Heap Sort
 

Similar a Ordenacion y busqueda

Unidad 1 1
Unidad 1   1Unidad 1   1
Unidad 1 1VivianaG
 
Ordenación y búsqueda orientada a C++
Ordenación y búsqueda orientada a C++Ordenación y búsqueda orientada a C++
Ordenación y búsqueda orientada a C++
Carlos Ureña
 
Ordenacion y busqueda
Ordenacion y busquedaOrdenacion y busqueda
Ordenacion y busqueda
OsirysRock
 
metodos-de-ordenamiento.pdf
metodos-de-ordenamiento.pdfmetodos-de-ordenamiento.pdf
metodos-de-ordenamiento.pdf
jorgeulises3
 
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
Facultad de Ciencias y Sistemas
 
Bus99
Bus99Bus99
Ordenamientos de vectores
Ordenamientos de vectoresOrdenamientos de vectores
Ordenamientos de vectoressirekarol
 
Recursividad, Ordenacion y Busqueda
Recursividad, Ordenacion y BusquedaRecursividad, Ordenacion y Busqueda
Recursividad, Ordenacion y Busqueda
EuniceLeguiasGonzale
 
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
ejosue23
 
ALP Unidad 3: Tipos de datos estructurados y punteros
ALP Unidad 3: Tipos de datos estructurados y punterosALP Unidad 3: Tipos de datos estructurados y punteros
ALP Unidad 3: Tipos de datos estructurados y punteros
Franklin Parrales Bravo
 
Metodos de odenamiento de vctores
Metodos de odenamiento de vctoresMetodos de odenamiento de vctores
Metodos de odenamiento de vctoresmishuhot
 
Algoritmos II_2020.pdf
Algoritmos II_2020.pdfAlgoritmos II_2020.pdf
Algoritmos II_2020.pdf
JuanDavidCardonaMons
 
Vectores - Informática
Vectores - InformáticaVectores - Informática
Vectores - Informática
compumet sac
 
Acceso a datos en aplicaciones web del entorno servidor
Acceso a datos en aplicaciones web del entorno servidorAcceso a datos en aplicaciones web del entorno servidor
Acceso a datos en aplicaciones web del entorno servidor
Jomicast
 
Informe tecnico unidad 6
Informe tecnico unidad 6Informe tecnico unidad 6
Informe tecnico unidad 6
eliezerbs
 
2rias5me
2rias5me2rias5me
2rias5me
htmrk
 
Algoritsmos unefa
Algoritsmos unefaAlgoritsmos unefa
Algoritsmos unefa
Frangelica Rios
 
Informe tecnico u 6-victor uex
Informe tecnico u 6-victor uexInforme tecnico u 6-victor uex
Informe tecnico u 6-victor uex
victoruex
 
Algoritmos Ordenamiento
Algoritmos OrdenamientoAlgoritmos Ordenamiento
Algoritmos OrdenamientoDaniel Guaycha
 

Similar a Ordenacion y busqueda (20)

Unidad 1 1
Unidad 1   1Unidad 1   1
Unidad 1 1
 
Ordenación y búsqueda orientada a C++
Ordenación y búsqueda orientada a C++Ordenación y búsqueda orientada a C++
Ordenación y búsqueda orientada a C++
 
Ordenacion y busqueda
Ordenacion y busquedaOrdenacion y busqueda
Ordenacion y busqueda
 
metodos-de-ordenamiento.pdf
metodos-de-ordenamiento.pdfmetodos-de-ordenamiento.pdf
metodos-de-ordenamiento.pdf
 
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
 
Bus99
Bus99Bus99
Bus99
 
Ordenamientos de vectores
Ordenamientos de vectoresOrdenamientos de vectores
Ordenamientos de vectores
 
Recursividad, Ordenacion y Busqueda
Recursividad, Ordenacion y BusquedaRecursividad, Ordenacion y Busqueda
Recursividad, Ordenacion y Busqueda
 
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
 
ALP Unidad 3: Tipos de datos estructurados y punteros
ALP Unidad 3: Tipos de datos estructurados y punterosALP Unidad 3: Tipos de datos estructurados y punteros
ALP Unidad 3: Tipos de datos estructurados y punteros
 
Metodos de odenamiento de vctores
Metodos de odenamiento de vctoresMetodos de odenamiento de vctores
Metodos de odenamiento de vctores
 
Algoritmos II_2020.pdf
Algoritmos II_2020.pdfAlgoritmos II_2020.pdf
Algoritmos II_2020.pdf
 
Vectores - Informática
Vectores - InformáticaVectores - Informática
Vectores - Informática
 
Acceso a datos en aplicaciones web del entorno servidor
Acceso a datos en aplicaciones web del entorno servidorAcceso a datos en aplicaciones web del entorno servidor
Acceso a datos en aplicaciones web del entorno servidor
 
Informe tecnico unidad 6
Informe tecnico unidad 6Informe tecnico unidad 6
Informe tecnico unidad 6
 
2rias5me
2rias5me2rias5me
2rias5me
 
Algoritsmos unefa
Algoritsmos unefaAlgoritsmos unefa
Algoritsmos unefa
 
Complejidad Computacional
Complejidad ComputacionalComplejidad Computacional
Complejidad Computacional
 
Informe tecnico u 6-victor uex
Informe tecnico u 6-victor uexInforme tecnico u 6-victor uex
Informe tecnico u 6-victor uex
 
Algoritmos Ordenamiento
Algoritmos OrdenamientoAlgoritmos Ordenamiento
Algoritmos Ordenamiento
 

Último

(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
vazquezgarciajesusma
 
Robótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptxRobótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptx
44652726
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
AlejandraCasallas7
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
cdraco
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
Fernando Villares
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
DanielErazoMedina
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
cofferub
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
SamuelRamirez83524
 
Alan Turing Vida o biografía resumida como presentación
Alan Turing Vida o biografía resumida como presentaciónAlan Turing Vida o biografía resumida como presentación
Alan Turing Vida o biografía resumida como presentación
JuanPrez962115
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
Leidyfuentes19
 
biogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectosbiogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectos
Luis Enrique Zafra Haro
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Telefónica
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
CrystalRomero18
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
AlejandraCasallas7
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
rafaelsalazar0615
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
IsabellaRubio6
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
JulyMuoz18
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
ItsSofi
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
raquelariza02
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
PABLOCESARGARZONBENI
 

Último (20)

(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
Robótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptxRobótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptx
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
 
Alan Turing Vida o biografía resumida como presentación
Alan Turing Vida o biografía resumida como presentaciónAlan Turing Vida o biografía resumida como presentación
Alan Turing Vida o biografía resumida como presentación
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
 
biogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectosbiogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectos
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
 

Ordenacion y busqueda

  • 1. UNIVERSIDAD DE PANAMÁ CENTRO REGIONAL UNIVERSITARIO DE COCLÉ FACULTAD DE INFORMÁTICA, ELECTRÓNICA Y COMUNICACIÓN LIC. EN INGENIERÍA EN SISTEMAS INFORMÁTICOS ORDENACIÓN Y BÚSQUEDA ASIGNATURA: PROGRAMACIÓN II (INF212) DOCENTE: LUSDIELKA G. HERNÁNDEZ ESTUDIANTE: IRVING MORÁN JOSÉ GUTIÉRREZ LUIS FIGUEROA ALBIS CORONADO 2020
  • 2. Objetivos Una vez que se haya leído y estudiado este capítulo, usted podrá: • Conocer los algoritmos basados en el intercambio de elementos. • Conocer el algoritmo de ordenación por inserción. • Conocer el algoritmo de selección. • Distinguir entre los algoritmos de ordenación basados en el intercambio y en la inserción. • Saber la eficiencia de los métodos básicos de ordenación. • Conocer los métodos más eficientes de ordenación. • Aplicar métodos mas eficientes de ordenación de arrays. • Ordenar vectores de objetos. • Diferenciar entre búsqueda secuencial y búsqueda binaria.
  • 3. Introducción Muchas actividades humanas requieren que diferentes colecciones de elementos utilizados se pongan en un orden específico. Las oficinas de correo y las empresas de mensajería ordenan el correo y los paquetes por códigos postales con el objeto de conseguir una entrega eficiente; las facturas telefónicas se ordenan por la fecha de las llamadas; los anuarios o listines telefónicos se ordenan por orden alfabético de apellidos con el fin último de encontrar fácilmente el número de teléfono deseado; los estudiantes de una clase en la universidad se ordenan por sus apellidos o por los números de expediente. Por estas circunstancias una de las tareas que realizan más frecuentemente las computadoras en el procesamiento de datos es la ordenación. El estudio de diferentes métodos de ordenación es una tarea intrínsecamente interesante desde un punto de vista teórico y, naturalmente, práctico. Este capítulo estudia los algoritmos y las técnicas de ordenación más usuales y su implementación en Java; también la manera de ordenar objetos con la funcionalidad que proporcionan las clases en Java. De igual modo, se estudiará el análisis de los diferentes métodos de ordenación con el objetivo de conseguir la máxima eficiencia en su uso real. En el capítulo se analizarán los métodos básicos y los más avanzados empleados en programas profesionales.
  • 4. Conceptos preliminares Clave: es una pieza de información que controla la operación de un algoritmo de criptografía. Habitualmente, esta información es una secuencia de números o letras mediante la cual, en criptografía, se especifica la transformación del texto plano en texto cifrado, o viceversa. Criterio de ordenamiento: el criterio que utilizamos para asignar valores a los registros con base en una o más claves. Registro: es un algoritmo que pone elementos de una lista o un vector . Las relaciones de orden más usadas son el orden numérico y el orden lexicográfico.
  • 6. ¿Que es? Es el procedimiento en el cual se agrupan los registros en orden definido, con el fin de facilitar la búsqueda de datos ordenados en secuencia. el cual puede ser numérico, alfabético o incluso alfanumérico, ascendente o descendente, el cual puede ser numérico, alfabético o incluso alfanumérico, ascendente o descendente.
  • 7. ¿Cuando se sabe cuando un algoritmo es eficiente o mejor? Un algoritmo es considerado eficiente si su consumo de recursos está en la media o por debajo de los niveles aceptables. Hablando a grandes rasgos, 'aceptable' significa: que el algoritmo corre en un tiempo razonable en una computadora dada
  • 8. Grado de orden que tendrá el algoritmo a manejar Preciso: implica el orden de realización de cada uno de los pasos Definido: si se sigue dos veces, se obtiene el mismo resultado. Finito: Tiene un numero determinado de pasos, implica que tiene un fin.
  • 9. Cantidad de datos o pasos a manipular 1 Análisis del problema Conducen al diseño detallado por medio un código escrito en forma de un algoritmo 2 Diseño de algoritmo 3 Codificación Se implementa el algoritmo en un código escrito en un lenguaje de programación. Refleja las ideas desarrolladas en las etapas de análisis y diseño 4 Compilación y ejecución Traduce el programa fuente a programa en código de maquina y lo ejecuta. 5 Verificación Busca errores en las etapas anteriores y los elimina. 6 Depuración 7 Documentación Son comentarios, etiquetas de texto, que facilitan la comprensión del programa
  • 10. Tipos de datos a ordenar Se desea ordenar datos Algorítmicos los cuales Utiliza un algoritmo y puede ser implementado en una computadora Y datos Heurísticos: los Se apoyan en el resultado obtenido en un análisis de alternativas de experiencias anteriores similares.
  • 12. Algoritmo de ordenación básicos En computación y matemáticas un algoritmo de ordenamiento es un algoritmo que pone elementos de una lista o un vector en una secuencia dada por una relación de orden
  • 13. Ordenación por intercambio El algoritmo del intercambio aunque es el más sencillo de implementar es uno de los mas pobres en rendimiento.
  • 14. Ordenación por selección Consiste en encontrar el menor de todos los elementos del vector e intercambiarlo con el que está en la primera posición.
  • 15. Ordenación por inserción Es una manera muy natural de ordenar para un ser humano, y puede usarse fácilmente para ordenar un mazo de cartas numeradas en forma arbitraria. Requiere operaciones para ordenar una lista de elementos.
  • 16. Ordenación por burbujas (bubblesort) Es un sencillo algoritmo de ordenamiento. 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.
  • 17. Ordenación Shell El método de ordenamiento Shell consiste en dividir el arreglo (o la lista de elementos) en intervalos (o bloques) de varios elementos para organizarlos después por medio del ordenamiento de inserción directa DATO CURIOSO: su nombre proviene del creador Donald Shell.
  • 18. Ordenación rápida (quicksort) Es un algoritmo basado en la técnica de divide y vencerás, que permite, en promedio, ordenar n elementos en un tiempo proporcional a n log n.
  • 19.
  • 20. Ordenación Binsort Es un algoritmo de ordenamiento que distribuye todos los elementos a ordenar entre un número finito de casilleros.
  • 21. Ordenación Radixsort Radix es un algoritmo de ordenamiento que ordena enteros procesando sus dígitos de forma individual
  • 23. Video
  • 24. Algoritmo de búsqueda Un algoritmo de búsqueda es un conjunto de instrucciones que están diseñadas 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.
  • 25. Pseudocódigo del algoritmo EjemploDatos de entrada: vec: vector en el que se desea buscar el dato tam: tamaño del vector. Los subíndices válidos van desde 0 hasta tam-1 inclusive. Puede representarse así: vec[0...tam) o vec[0...tam-1]. dato: elemento que se quiere buscar. Datos de entrada: vec: vector en el que se desea buscar el dato tam: tamaño del vector. Los subíndices válidos van desde 0 hasta tam-1 inclusive. Puede representarse así: vec[0...tam) o vec[0...tam-1]. dato: elemento que se quiere buscar. Variables pos: posición actual en el vector pos = 0 while pos < tam: if vec[pos] == dato: Retorne verdadero y/o pos, else: pos = pos + 1 Fin (while) Retorne falso, Int busquedaSimple(int vector[n],int n, int dato){ Int i; For(i=0; i<m; i++)} If(dato==vector[i]){ Return i; } } Return -1; }
  • 26. Búsqueda binaria Se utiliza cuando el vector en el que queremos determinar la existencia de un elemento está previamente ordenado. Este algoritmo reduce el tiempo de búsqueda considerablemente, ya que disminuye exponencialmente el número de iteraciones necesarias. Para implementar este algoritmo se compara el elemento a buscar con un elemento cualquiera del vector (normalmente el elemento central): si el valor de éste es mayor que el del elemento buscado se repite el procedimiento en la parte del vector que va desde el inicio de éste hasta el elemento tomado, en caso contrario se toma la parte del vector que va desde el elemento tomado hasta el final.
  • 27. Ejemplo Datos de entrada: vec: vector en el que se desea buscar el dato tam: tamaño del vector. Los subíndices válidos van desde 0 hasta tam-1 inclusive. dato: elemento que se quiere buscar. Variables centro: subíndice central del intervalo inf: límite inferior del intervalo sup: límite superior del intervalo inf = 0 sup = tam-1 Mientras inf <= sup: centro = ((sup - inf) / 2) + inf // División entera: se trunca la fracción Si vec[centro] == dato devolver verdadero y/o pos, de lo contrario: Si dato < vec[centro] entonces: sup = centro - 1 En caso contrario: inf = centro + 1 Fin (Mientras) Devolver Falso
  • 28. Conclusión A medida que fuimos desarrollando el trabajo fuimos aprendiendo más sobre este tema que por los vistos tienes una amplitud en cuanto su uso primero empezando por la definición de preliminares dirigido a la programación las diferentes partes que lo compones en este trabajo verán de forma más profunda este término al igual que las claves, criterios de ordenación y registros como el segundo puntos tenemos ordenamiento de datos el tercer punto como se sabe cuál es el mejor algoritmo. vemos las incógnitas que se forman con esta pregunta el cuanto punto es el concepto de ordenación el cual tienes una gran variedad de sub temas en os que destacan la ordenación por intercambio, por selección y por inserción la ordenación de burbuja la ordenación de Shell la cual lleva ese nombre por su creador Donald Shell y el quick sort. El cual es un poco difícil, pero gracias a su alta eficiencia esta está entre los mejores. Vimos las desventajas de algunas ordenaciones para profundizar más en ellas los pasos que se siguen para desarrollar una algoritmos de quick sort por ultimo en el curatos puntos las ordenación de Bin sort y Radix sort viento el punto cinco búsqueda de datos y estos se divide en dos sub temas búsqueda secuencial que también se conoce como búsqueda lineal y búsqueda binaria. se conoció cada uno de los tipos de métodos de búsqueda ya que al momento de hacer un programa extenso podríamos utilizar algunos de estos métodos y así encontrar la información más rápida y no perder tanto tiempo.
  • 29. Bibliografí a blogspot. (16 de 6 de 2016). blogspot. Obtenido de blogspot: http://ordendata.blogspot.com/ López. (s.f.). LAPA. Obtenido de http://132.248.48.64/repositorio/moodle/pluginfile.php/1472/mod_resource/content/1/contenido/index.html#:~:text=El%20m%C3%A9todo %20de%20ordenamiento%20Shell,del%20ordenamiento%20de%20inserci%C3%B3n%20directa. lwh.free. (s.f.). Obtenido de lwh.free: http://lwh.free.fr/pages/algo/tri/tri_rapide_es.html#:~:text=El%20algoritmo%20fundamental%20es%20el,y%20al%20otro%20los%20mayor es. Monografias. (15 de 5 de 2015). monografias. Obtenido de monografias: https://www.monografias.com/trabajos15/algoritmos/algoritmos.shtml#DISE%C3%91O quicksort. (s.f.). quicksort. Obtenido de http://quicksort.yolasite.com/antecedentes.php rmurillo95. (s.f.). www.monografias.com. Obtenido de https://www.monografias.com/trabajos/algordenam/algordenam.shtml Sarango, J. (s.f.). scribd. Obtenido de https://es.scribd.com/document/445950137/binsort-y-radixsort Wandy, j. (s.f.). techlandia. Obtenido de techlandia: https://techlandia.com/ventajas-desventajas-algoritmos-ordenamiento-info_181515/ wiipedia. (s.f.). wikipedia . Obtenido de https://es.wikipedia.org/wiki/Ordenamiento_por_casilleros#:~:text=El%20ordenamiento%20por%20casilleros%20(bucket,que%20cumplan %20unas%20determinadas%20condiciones. wikipedia. (s.f.). Obtenido de wikipedia: https://es.wikipedia.org/wiki/Ordenamiento_Radix wikipedia. (21 de junio de 2020). Obtenido de https://es.wikipedia.org/wiki/Ordenamiento_por_selecci%C3%B3n Willams, Jr., Louis F. (1975). A modification to the half-interval search (binary search) method. Proceedings of the 14th ACM Southeast Conference. pp. 95-101. doi:10.1145/503561.503582. Knuth, 1998, §6.2.1 ("Searching an ordered table"), subsection "Binary search". Cormen et al., 2009, p. 39. Weisstein, Eric W. «Binary Search». En Weisstein, Eric W, ed. MathWorld (en inglés). Wolfram Research. Flores, Ivan; Madpis, George (1971). «Average binary search length for dense ordered lists». CACM 14 (9): 602-603. doi:10.1145/362663.362752. a b Bottenbruch, Hermann (1962).