SlideShare una empresa de Scribd logo
1 de 29
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

Manejo De Memoria
Manejo De MemoriaManejo De Memoria
Manejo De Memoriamosh88
 
Metodo de ordenacion por Insercion
 Metodo de ordenacion por Insercion Metodo de ordenacion por Insercion
Metodo de ordenacion por InsercionMateo Falcon
 
Tipos abstractos de datos
Tipos abstractos de datosTipos abstractos de datos
Tipos abstractos de datosJose Armando
 
1.3 uso de tipos de datos abstractos
1.3 uso de tipos de datos abstractos1.3 uso de tipos de datos abstractos
1.3 uso de tipos de datos abstractoserwin_alexander
 
Unidad 1 introducción a las estructuras de datos
Unidad 1 introducción a las estructuras de datosUnidad 1 introducción a las estructuras de datos
Unidad 1 introducción a las estructuras de datosUrban Skate House
 
2 _expresiones_matematicas_254209
2  _expresiones_matematicas_2542092  _expresiones_matematicas_254209
2 _expresiones_matematicas_254209Miguel Medina
 
IC estructuras de secuencia
IC estructuras de secuenciaIC estructuras de secuencia
IC estructuras de secuenciacbertolotti
 
ESTRUCTURA DE DATOS
ESTRUCTURA DE DATOSESTRUCTURA DE DATOS
ESTRUCTURA DE DATOSIsai Vazquez
 
Manejo de memoria
Manejo de memoriaManejo de memoria
Manejo de memoriaIronAngel
 
Estructura de datos presentacion y sesion 1
Estructura de datos presentacion y sesion 1Estructura de datos presentacion y sesion 1
Estructura de datos presentacion y sesion 1Jesús Gómez Ávila
 

La actualidad más candente (20)

Algoritsmos unefa
Algoritsmos unefaAlgoritsmos unefa
Algoritsmos unefa
 
Tipos de Datos Abstractos (TDA)
Tipos de Datos Abstractos (TDA)Tipos de Datos Abstractos (TDA)
Tipos de Datos Abstractos (TDA)
 
Unidad 5
Unidad 5Unidad 5
Unidad 5
 
Manejo De Memoria
Manejo De MemoriaManejo De Memoria
Manejo De Memoria
 
Taller 2 conceptualizacion
Taller 2 conceptualizacionTaller 2 conceptualizacion
Taller 2 conceptualizacion
 
Metodo de ordenacion por Insercion
 Metodo de ordenacion por Insercion Metodo de ordenacion por Insercion
Metodo de ordenacion por Insercion
 
Tipos abstractos de datos
Tipos abstractos de datosTipos abstractos de datos
Tipos abstractos de datos
 
1.3 uso de tipos de datos abstractos
1.3 uso de tipos de datos abstractos1.3 uso de tipos de datos abstractos
1.3 uso de tipos de datos abstractos
 
Unidad 1 introducción a las estructuras de datos
Unidad 1 introducción a las estructuras de datosUnidad 1 introducción a las estructuras de datos
Unidad 1 introducción a las estructuras de datos
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
2 _expresiones_matematicas_254209
2  _expresiones_matematicas_2542092  _expresiones_matematicas_254209
2 _expresiones_matematicas_254209
 
Implementación de Aplicaciones Basadas en Texto
Implementación de Aplicaciones Basadas en TextoImplementación de Aplicaciones Basadas en Texto
Implementación de Aplicaciones Basadas en Texto
 
IC estructuras de secuencia
IC estructuras de secuenciaIC estructuras de secuencia
IC estructuras de secuencia
 
Modelo Dinamico
Modelo DinamicoModelo Dinamico
Modelo Dinamico
 
ESTRUCTURA DE DATOS
ESTRUCTURA DE DATOSESTRUCTURA DE DATOS
ESTRUCTURA DE DATOS
 
Manejo de memoria
Manejo de memoriaManejo de memoria
Manejo de memoria
 
Mergesort
MergesortMergesort
Mergesort
 
Estructura de Datos - Unidad II Recursividad
Estructura de Datos - Unidad II RecursividadEstructura de Datos - Unidad II Recursividad
Estructura de Datos - Unidad II Recursividad
 
Manejo de memoria
Manejo de memoriaManejo de memoria
Manejo de memoria
 
Estructura de datos presentacion y sesion 1
Estructura de datos presentacion y sesion 1Estructura de datos presentacion y sesion 1
Estructura de datos presentacion y sesion 1
 

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 busquedaOsirysRock
 
metodos-de-ordenamiento.pdf
metodos-de-ordenamiento.pdfmetodos-de-ordenamiento.pdf
metodos-de-ordenamiento.pdfjorgeulises3
 
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 BusquedaEuniceLeguiasGonzale
 
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
 
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 punterosFranklin Parrales Bravo
 
Metodos de odenamiento de vctores
Metodos de odenamiento de vctoresMetodos de odenamiento de vctores
Metodos de odenamiento de vctoresmishuhot
 
Vectores - Informática
Vectores - InformáticaVectores - Informática
Vectores - Informáticacompumet 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 servidorJomicast
 
Informe tecnico unidad 6
Informe tecnico unidad 6Informe tecnico unidad 6
Informe tecnico unidad 6eliezerbs
 
2rias5me
2rias5me2rias5me
2rias5mehtmrk
 
Informe tecnico u 6-victor uex
Informe tecnico u 6-victor uexInforme tecnico u 6-victor uex
Informe tecnico u 6-victor uexvictoruex
 
Algoritmos Ordenamiento
Algoritmos OrdenamientoAlgoritmos Ordenamiento
Algoritmos OrdenamientoDaniel Guaycha
 
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
 

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
 
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
 
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
 

Último

LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificialcynserafini89
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesEdomar AR
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzzAlexandergo5
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel tallerValentinaTabares11
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 

Último (20)

LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificial
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, Aplicaciones
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzz
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel taller
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 

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).