SlideShare una empresa de Scribd logo
1 de 9
Descargar para leer sin conexión
Búsqueda de datos
Algoritmos y Programación
Lic. En Sistemas – FCAD - UNER
Esp. Diana F. Fernandez
2016
Lic. En Sistemas – FCAD - UNER | Búsqueda de datos – Unidad VI- Algoritmos y
Programación 2016
2
Índice Temático
INTRODUCCIÓN ................................................................................................................ 3
BÚSQUEDA LINEAL ........................................................................................................... 3
Ventajas y Limitaciones ................................................................................................ 5
BÚSQUEDA BINARIA O DICOTÓMICA............................................................................... 5
Ventajas ........................................................................................................................ 8
COMPARACIÓN................................................................................................................. 8
BIBLIOGRAFIAS Y FUENTES CONSULTADAS...................................................................... 9
Lic. En Sistemas – FCAD - UNER | Búsqueda de datos – Unidad VI- Algoritmos y
Programación 2016
3
INTRODUCCIÓN
Con frecuencia los programadores trabajan con grandes
cantidades de datos almacenados en estructuras de datos como
arrays y registros, es muy común entonces, encontrarse con la
necesidad de determinar, por ejemplo, si un array contiene un
dato determinado. El proceso de encontrar un elemento
específico en una estructura se denomina búsqueda.
La búsqueda de un elemento en una estructura de datos es una de las
operaciones más importantes en el procesamiento de la información y permite la
recuperación de datos previamente almacenados.
En este documento veremos dos estrategias que son las más usadas para
encontrar elementos en una estructura de datos: búsqueda lineal o secuencial, que
se caracteriza por ser la técnica más sencilla, y búsqueda binaria o dicotómica,
que es la técnica más eficiente.
BÚSQUEDA LINEAL
En una búsqueda lineal o secuencial, se analizan los elementos de una colección
de uno en uno hasta que se encuentra el valor deseado. (1)
Ésta técnica es probablemente la más sencilla de implementar e intuitiva. Consiste
en buscar de manera secuencial un elemento, en preguntar si el elemento buscado
es igual al primero, segundo, tercero y así sucesivamente hasta encontrar el dato
deseado.
La búsqueda secuencial es necesaria, por ejemplo, si se desea encontrar la
persona cuyo número de teléfono es 842-7200 en una guía o listado telefónico de
una ciudad. Las guías de teléfonos están organizadas alfabéticamente por el
nombre del abonado en lugar de por números de teléfono, de modo que deben
explorarse todos los números, uno después de otro, esperando encontrar el
número 842-7200.
Lic. En Sistemas – FCAD - UNER | Búsqueda de datos – Unidad VI- Algoritmos y
Programación 2016
4
Veamos un ejemplo:
Supongamos que el DNI buscado es el número 38.456.851. Como vemos en el
siguiente ejemplo, se recorre el arreglo desde la posición Nº 1 y se va comparando
el valor del dato ingresado con el valor del DNI ubicado en la posición que ocupa en
el array, esta comparación se realiza de manera secuencial hasta que el valor
ingresado coincida con el almacenado en la estructura, cuando esto último ocurre
hemos encontrado el dato. En nuestro caso, al encontrar el estudiante con DNI
38.456.851 podemos ver que vota en la mesa numero 08.
Datos
36.659.684
12
40.368.965
04
…..
38.456.851
08
40.397.235
04
42.379.654
03
DNI Nº Mesa DNI Nº Mesa DNI Nº
Mesa
DNI Nº
Mesa
DNI Nº
MesaPosición 1 2 …… 698 699 700
Dado un array que contiene los datos de los 700 estudiantes
habilitados para votar en las elecciones del Centro de Estudiantes.
Se requiere:
Ingresar el número de documento del estudiante y mostrar en que
mesa vota.
Compara
DNI
38.456.851
con
36.659.684
no coincide
Compara
DNI
38.456.851
con
40.368.965
no coincide
Compara DNI
38.456.851
con 38.456.851
SI COINCIDE
DATO ENCONTRADO
Lic. En Sistemas – FCAD - UNER | Búsqueda de datos – Unidad VI- Algoritmos y
Programación 2016
5
Ventajas y Limitaciones
Este tipo de búsqueda tiene la ventaja de tener una fácil programación de su
algoritmo.
Por otro lado, los elementos del array pueden o no estar ordenados, ya que al
comparar de uno en uno los elementos, no importa su orden para realizar la
búsqueda, salvo para el tiempo de ejecución.
Si el elemento que se está buscando se encuentra al inicio del array, este tiempo
será muy corto, si se encuentra al final de la estructura, el tiempo de ejecución
será más largo, pero si el elemento que se desea buscar, no se encuentra en la
estructura de datos, se deberá recorrer todo el array para darse cuenta no se
encuentra almacenado en el mismo. Si a esto se le suma, que la cantidad de
elementos pueden ser cientos o miles, el tiempo de ejecución será
considerablemente más lento.
BÚSQUEDA BINARIA O DICOTÓMICA
Si la estructura está ordenada, la búsqueda binaria o dicotómica proporciona una
técnica de búsqueda mejorada.
Una búsqueda binaria típica es la búsqueda de una palabra en un diccionario.
Dada la palabra, se abre el libro cerca del principio, del centro o del final
dependiendo de la primera letra del primer apellido o de la palabra que busca. Se
puede tener suerte y acertar con la página correcta; pero, normalmente, no será
Ahora bien, en base a lo visto hasta aquí,
¿Es posible mejorar la estrategia de
búsqueda?
Lic. En Sistemas – FCAD - UNER | Búsqueda de datos – Unidad VI- Algoritmos y
Programación 2016
6
así y se mueve el lector a la página anterior o posterior del diccionario. Por
ejemplo, si la palabra comienza con «J» y se está en la «L» se mueve uno hacia
atrás. El proceso continúa hasta que se encuentra la página buscada o hasta que
se descubre que la palabra no está en la lista. (2)
A diferencia de la Búsqueda Secuencial, aquí el número de comparaciones no se
comporta en forma lineal, sino que se realizan los siguientes pasos:
 Se selecciona el elemento del centro del array.
 Si el valor a buscar no coincide con el elemento seleccionado y es
mayor que él, se continúa la búsqueda en la segunda mitad del
array.
 Si, por el contrario, el valor a buscar es menor que el valor del
elemento seleccionado, la búsqueda continúa en la primera parte del
array.
 En ambos casos, se halla de nuevo el elemento central,
correspondiente al nuevo intervalo de búsqueda, repitiéndose el
ciclo.
 El proceso se repite hasta que se encuentra el valor a buscar, o bien
hasta que el intervalo de búsqueda sea nulo, lo que querrá decir que
el elemento buscado no figura en el array.
Veamos el siguiente ejemplo:
Dado el un array de 12 elementos con sus correspondientes datos:
Se requiere ingresar un valor y buscarlo en el arreglo.
Lic. En Sistemas – FCAD - UNER | Búsqueda de datos – Unidad VI- Algoritmos y
Programación 2016
7
Supongamos que el valor a buscar es el numero 45.
LI (Límite inferior) – Contiene la posición donde inicia el intervalo de búsqueda
LS (Límite superior) – Contiene la posición donde finaliza el intervalo de
búsqueda.
i= (LS+LI)/2
LI=1 LS=12 i=6
Se compara valor buscado con valor 6° elemento:
45 > 31, se descarta la primera mitad del array, luego se ajusta la variable
LI = (i + 1)
LI=7 LS=12 i=9
Se compara valor buscado con valor 9° elemento:
45 < 60, se descarta la segunda mitad del array, luego se ajusta la variable
LS = (i – 1)
LI=7 LS=8 i=7
Se compara valor buscado con valor 7° elemento:
45 > 33 se descarta la primera mitad del array, luego se ajusta la variable
LI = (i + 1)
LI=8 LS=8 i=8
Se compara valor buscado con valor 8° elemento:
45 = 45
Dato 5 12 18 21 27 31 33 45 60 62 68 72
Posición 1 2 3 4 5 6 7 8 9 10 11 12
DATO ENCONTADO en la posición 8 del array.
Lic. En Sistemas – FCAD - UNER | Búsqueda de datos – Unidad VI- Algoritmos y
Programación 2016
8
Ventajas
Esta estrategia reduce el tiempo de búsqueda considerablemente, ya que
disminuye exponencialmente el número de iteraciones necesarias.
Es altamente recomendada para buscar en arrays de gran tamaño.
COMPARACIÓN
Una vez enunciadas estas dos estrategias de búsqueda de datos, es interesante
analizar la siguiente animación donde podemos ver el funcionamiento de ambas.
Como podemos observar, los datos se encuentran ordenados (ya que de no ser
así no se podría aplicar la búsqueda binaria).
Animación 1 Comparación de Búsquedas [Ver animación]
Queda de manifiesto que a misma cantidad de elementos, la velocidad y la
cantidad de comparaciones realizadas dejan en evidencia la eficiencia de una
estrategia de búsqueda por sobre la otra.
Lic. En Sistemas – FCAD - UNER | Búsqueda de datos – Unidad VI- Algoritmos y
Programación 2016
9
BIBLIOGRAFIAS Y FUENTES CONSULTADAS
1. Arias, Ángel. Aprende sobre la Ingeniería de Software: 2ª Edición. s.l. : IT Campus Academy,
2015. 1517706106, 9781517706104.
2. Joyanes Aguilar, Luis y Zahonero Martínez, Ignacio. ALGORITMOS Y ESTRUCTURAS DE
DATOS. UNA PERSPECTIVA EN C. s.l. : McGraw-Hill, 2004. 844814077x.
3. Yabar, Ronny. Imaginemos un mundo libre. [En línea] 09 de Julio de 2009. [Citado el: 24 de
Octubre de 2016.] https://ronnyml.wordpress.com/2009/07/09/busqueda-lineal-y-busqueda-
binaria/
4. Facultad de Ingenieria Universidad de la República - Uruguay. Principios de Programación.
[En línea] [Citado el:24 de Ocrubre de 2016.]
https://www.fing.edu.uy/tecnoinf/mvd/cursos/prinprog/material/teo/prinprog-teorico11.pdf

Más contenido relacionado

Similar a Busqueda de datos

Informe algoritmos de busqueda
Informe algoritmos de busquedaInforme algoritmos de busqueda
Informe algoritmos de busquedaGonzalo Retamal
 
Algoritmo, Ordenacion y Búsqueda
Algoritmo, Ordenacion y BúsquedaAlgoritmo, Ordenacion y Búsqueda
Algoritmo, Ordenacion y BúsquedaJavier Alvarez
 
Informe algoritmos de busqueda
Informe algoritmos de busquedaInforme algoritmos de busqueda
Informe algoritmos de busquedapazmoralesv
 
Ordenacion y busqueda
Ordenacion y busquedaOrdenacion y busqueda
Ordenacion y busquedaIrvingMoran4
 
Informe Análisis Búsqueda Binaria
Informe Análisis Búsqueda BinariaInforme Análisis Búsqueda Binaria
Informe Análisis Búsqueda BinariaJose Rivera
 
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
 
ALGORITMO DE BUSQUEDA.pptx
ALGORITMO DE BUSQUEDA.pptxALGORITMO DE BUSQUEDA.pptx
ALGORITMO DE BUSQUEDA.pptxEverMuchairo1
 
Documento de Busqueda Binaria
Documento de Busqueda BinariaDocumento de Busqueda Binaria
Documento de Busqueda BinariaSanTy BizZle
 
busquedasecuencial,binaria,binariarecursiva,.pptx
busquedasecuencial,binaria,binariarecursiva,.pptxbusquedasecuencial,binaria,binariarecursiva,.pptx
busquedasecuencial,binaria,binariarecursiva,.pptxHUBERTJAREDJIMENEZQU
 
Informe tecnico unidad 6
Informe tecnico unidad 6Informe tecnico unidad 6
Informe tecnico unidad 6eliezerbs
 
Estructura de dato unidad 6
Estructura de dato unidad 6Estructura de dato unidad 6
Estructura de dato unidad 6lenithoz
 
13 Busquedas
13 Busquedas13 Busquedas
13 BusquedasUVM
 
02 uni1-estructuras de datos-arreglos
02 uni1-estructuras de datos-arreglos02 uni1-estructuras de datos-arreglos
02 uni1-estructuras de datos-arreglosFranco Guamán
 
Informe analisis de algoritmos (mitad de cuadrado)
Informe analisis de algoritmos (mitad de cuadrado)Informe analisis de algoritmos (mitad de cuadrado)
Informe analisis de algoritmos (mitad de cuadrado)Sergio Ormeño
 
método de búsqueda Truncamiento
método de búsqueda Truncamientométodo de búsqueda Truncamiento
método de búsqueda TruncamientoCristopher Blum
 
Modulo estructura de_datos_2014
Modulo estructura de_datos_2014Modulo estructura de_datos_2014
Modulo estructura de_datos_2014Carlos Morales
 

Similar a Busqueda de datos (20)

Informe algoritmos de busqueda
Informe algoritmos de busquedaInforme algoritmos de busqueda
Informe algoritmos de busqueda
 
Algoritmo, Ordenacion y Búsqueda
Algoritmo, Ordenacion y BúsquedaAlgoritmo, Ordenacion y Búsqueda
Algoritmo, Ordenacion y Búsqueda
 
Algoritmos de búsqueda
Algoritmos de búsquedaAlgoritmos de búsqueda
Algoritmos de búsqueda
 
Informe algoritmos de busqueda
Informe algoritmos de busquedaInforme algoritmos de busqueda
Informe algoritmos de busqueda
 
Ordenacion y busqueda
Ordenacion y busquedaOrdenacion y busqueda
Ordenacion y busqueda
 
Informe Análisis Búsqueda Binaria
Informe Análisis Búsqueda BinariaInforme Análisis Búsqueda Binaria
Informe Análisis Búsqueda Binaria
 
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++
 
metodos de busqueda
metodos de busquedametodos de busqueda
metodos de busqueda
 
ALGORITMO DE BUSQUEDA.pptx
ALGORITMO DE BUSQUEDA.pptxALGORITMO DE BUSQUEDA.pptx
ALGORITMO DE BUSQUEDA.pptx
 
Documento de Busqueda Binaria
Documento de Busqueda BinariaDocumento de Busqueda Binaria
Documento de Busqueda Binaria
 
busquedasecuencial,binaria,binariarecursiva,.pptx
busquedasecuencial,binaria,binariarecursiva,.pptxbusquedasecuencial,binaria,binariarecursiva,.pptx
busquedasecuencial,binaria,binariarecursiva,.pptx
 
Informe tecnico unidad 6
Informe tecnico unidad 6Informe tecnico unidad 6
Informe tecnico unidad 6
 
Estructura de dato unidad 6
Estructura de dato unidad 6Estructura de dato unidad 6
Estructura de dato unidad 6
 
13 Busquedas
13 Busquedas13 Busquedas
13 Busquedas
 
Unidad 6
Unidad 6Unidad 6
Unidad 6
 
02 uni1-estructuras de datos-arreglos
02 uni1-estructuras de datos-arreglos02 uni1-estructuras de datos-arreglos
02 uni1-estructuras de datos-arreglos
 
Informe analisis de algoritmos (mitad de cuadrado)
Informe analisis de algoritmos (mitad de cuadrado)Informe analisis de algoritmos (mitad de cuadrado)
Informe analisis de algoritmos (mitad de cuadrado)
 
Informe analisis de algoritmos
Informe analisis de algoritmosInforme analisis de algoritmos
Informe analisis de algoritmos
 
método de búsqueda Truncamiento
método de búsqueda Truncamientométodo de búsqueda Truncamiento
método de búsqueda Truncamiento
 
Modulo estructura de_datos_2014
Modulo estructura de_datos_2014Modulo estructura de_datos_2014
Modulo estructura de_datos_2014
 

Último

TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSjlorentemartos
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdfgimenanahuel
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxPryhaSalam
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscaeliseo91
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
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
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticosisabeltrejoros
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
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
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdfDemetrio Ccesa Rayme
 

Último (20)

TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fisca
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
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
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticos
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
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
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdf
 

Busqueda de datos

  • 1. Búsqueda de datos Algoritmos y Programación Lic. En Sistemas – FCAD - UNER Esp. Diana F. Fernandez 2016
  • 2. Lic. En Sistemas – FCAD - UNER | Búsqueda de datos – Unidad VI- Algoritmos y Programación 2016 2 Índice Temático INTRODUCCIÓN ................................................................................................................ 3 BÚSQUEDA LINEAL ........................................................................................................... 3 Ventajas y Limitaciones ................................................................................................ 5 BÚSQUEDA BINARIA O DICOTÓMICA............................................................................... 5 Ventajas ........................................................................................................................ 8 COMPARACIÓN................................................................................................................. 8 BIBLIOGRAFIAS Y FUENTES CONSULTADAS...................................................................... 9
  • 3. Lic. En Sistemas – FCAD - UNER | Búsqueda de datos – Unidad VI- Algoritmos y Programación 2016 3 INTRODUCCIÓN Con frecuencia los programadores trabajan con grandes cantidades de datos almacenados en estructuras de datos como arrays y registros, es muy común entonces, encontrarse con la necesidad de determinar, por ejemplo, si un array contiene un dato determinado. El proceso de encontrar un elemento específico en una estructura se denomina búsqueda. La búsqueda de un elemento en una estructura de datos es una de las operaciones más importantes en el procesamiento de la información y permite la recuperación de datos previamente almacenados. En este documento veremos dos estrategias que son las más usadas para encontrar elementos en una estructura de datos: búsqueda lineal o secuencial, que se caracteriza por ser la técnica más sencilla, y búsqueda binaria o dicotómica, que es la técnica más eficiente. BÚSQUEDA LINEAL En una búsqueda lineal o secuencial, se analizan los elementos de una colección de uno en uno hasta que se encuentra el valor deseado. (1) Ésta técnica es probablemente la más sencilla de implementar e intuitiva. Consiste en buscar de manera secuencial un elemento, en preguntar si el elemento buscado es igual al primero, segundo, tercero y así sucesivamente hasta encontrar el dato deseado. La búsqueda secuencial es necesaria, por ejemplo, si se desea encontrar la persona cuyo número de teléfono es 842-7200 en una guía o listado telefónico de una ciudad. Las guías de teléfonos están organizadas alfabéticamente por el nombre del abonado en lugar de por números de teléfono, de modo que deben explorarse todos los números, uno después de otro, esperando encontrar el número 842-7200.
  • 4. Lic. En Sistemas – FCAD - UNER | Búsqueda de datos – Unidad VI- Algoritmos y Programación 2016 4 Veamos un ejemplo: Supongamos que el DNI buscado es el número 38.456.851. Como vemos en el siguiente ejemplo, se recorre el arreglo desde la posición Nº 1 y se va comparando el valor del dato ingresado con el valor del DNI ubicado en la posición que ocupa en el array, esta comparación se realiza de manera secuencial hasta que el valor ingresado coincida con el almacenado en la estructura, cuando esto último ocurre hemos encontrado el dato. En nuestro caso, al encontrar el estudiante con DNI 38.456.851 podemos ver que vota en la mesa numero 08. Datos 36.659.684 12 40.368.965 04 ….. 38.456.851 08 40.397.235 04 42.379.654 03 DNI Nº Mesa DNI Nº Mesa DNI Nº Mesa DNI Nº Mesa DNI Nº MesaPosición 1 2 …… 698 699 700 Dado un array que contiene los datos de los 700 estudiantes habilitados para votar en las elecciones del Centro de Estudiantes. Se requiere: Ingresar el número de documento del estudiante y mostrar en que mesa vota. Compara DNI 38.456.851 con 36.659.684 no coincide Compara DNI 38.456.851 con 40.368.965 no coincide Compara DNI 38.456.851 con 38.456.851 SI COINCIDE DATO ENCONTRADO
  • 5. Lic. En Sistemas – FCAD - UNER | Búsqueda de datos – Unidad VI- Algoritmos y Programación 2016 5 Ventajas y Limitaciones Este tipo de búsqueda tiene la ventaja de tener una fácil programación de su algoritmo. Por otro lado, los elementos del array pueden o no estar ordenados, ya que al comparar de uno en uno los elementos, no importa su orden para realizar la búsqueda, salvo para el tiempo de ejecución. Si el elemento que se está buscando se encuentra al inicio del array, este tiempo será muy corto, si se encuentra al final de la estructura, el tiempo de ejecución será más largo, pero si el elemento que se desea buscar, no se encuentra en la estructura de datos, se deberá recorrer todo el array para darse cuenta no se encuentra almacenado en el mismo. Si a esto se le suma, que la cantidad de elementos pueden ser cientos o miles, el tiempo de ejecución será considerablemente más lento. BÚSQUEDA BINARIA O DICOTÓMICA Si la estructura está ordenada, la búsqueda binaria o dicotómica proporciona una técnica de búsqueda mejorada. Una búsqueda binaria típica es la búsqueda de una palabra en un diccionario. Dada la palabra, se abre el libro cerca del principio, del centro o del final dependiendo de la primera letra del primer apellido o de la palabra que busca. Se puede tener suerte y acertar con la página correcta; pero, normalmente, no será Ahora bien, en base a lo visto hasta aquí, ¿Es posible mejorar la estrategia de búsqueda?
  • 6. Lic. En Sistemas – FCAD - UNER | Búsqueda de datos – Unidad VI- Algoritmos y Programación 2016 6 así y se mueve el lector a la página anterior o posterior del diccionario. Por ejemplo, si la palabra comienza con «J» y se está en la «L» se mueve uno hacia atrás. El proceso continúa hasta que se encuentra la página buscada o hasta que se descubre que la palabra no está en la lista. (2) A diferencia de la Búsqueda Secuencial, aquí el número de comparaciones no se comporta en forma lineal, sino que se realizan los siguientes pasos:  Se selecciona el elemento del centro del array.  Si el valor a buscar no coincide con el elemento seleccionado y es mayor que él, se continúa la búsqueda en la segunda mitad del array.  Si, por el contrario, el valor a buscar es menor que el valor del elemento seleccionado, la búsqueda continúa en la primera parte del array.  En ambos casos, se halla de nuevo el elemento central, correspondiente al nuevo intervalo de búsqueda, repitiéndose el ciclo.  El proceso se repite hasta que se encuentra el valor a buscar, o bien hasta que el intervalo de búsqueda sea nulo, lo que querrá decir que el elemento buscado no figura en el array. Veamos el siguiente ejemplo: Dado el un array de 12 elementos con sus correspondientes datos: Se requiere ingresar un valor y buscarlo en el arreglo.
  • 7. Lic. En Sistemas – FCAD - UNER | Búsqueda de datos – Unidad VI- Algoritmos y Programación 2016 7 Supongamos que el valor a buscar es el numero 45. LI (Límite inferior) – Contiene la posición donde inicia el intervalo de búsqueda LS (Límite superior) – Contiene la posición donde finaliza el intervalo de búsqueda. i= (LS+LI)/2 LI=1 LS=12 i=6 Se compara valor buscado con valor 6° elemento: 45 > 31, se descarta la primera mitad del array, luego se ajusta la variable LI = (i + 1) LI=7 LS=12 i=9 Se compara valor buscado con valor 9° elemento: 45 < 60, se descarta la segunda mitad del array, luego se ajusta la variable LS = (i – 1) LI=7 LS=8 i=7 Se compara valor buscado con valor 7° elemento: 45 > 33 se descarta la primera mitad del array, luego se ajusta la variable LI = (i + 1) LI=8 LS=8 i=8 Se compara valor buscado con valor 8° elemento: 45 = 45 Dato 5 12 18 21 27 31 33 45 60 62 68 72 Posición 1 2 3 4 5 6 7 8 9 10 11 12 DATO ENCONTADO en la posición 8 del array.
  • 8. Lic. En Sistemas – FCAD - UNER | Búsqueda de datos – Unidad VI- Algoritmos y Programación 2016 8 Ventajas Esta estrategia reduce el tiempo de búsqueda considerablemente, ya que disminuye exponencialmente el número de iteraciones necesarias. Es altamente recomendada para buscar en arrays de gran tamaño. COMPARACIÓN Una vez enunciadas estas dos estrategias de búsqueda de datos, es interesante analizar la siguiente animación donde podemos ver el funcionamiento de ambas. Como podemos observar, los datos se encuentran ordenados (ya que de no ser así no se podría aplicar la búsqueda binaria). Animación 1 Comparación de Búsquedas [Ver animación] Queda de manifiesto que a misma cantidad de elementos, la velocidad y la cantidad de comparaciones realizadas dejan en evidencia la eficiencia de una estrategia de búsqueda por sobre la otra.
  • 9. Lic. En Sistemas – FCAD - UNER | Búsqueda de datos – Unidad VI- Algoritmos y Programación 2016 9 BIBLIOGRAFIAS Y FUENTES CONSULTADAS 1. Arias, Ángel. Aprende sobre la Ingeniería de Software: 2ª Edición. s.l. : IT Campus Academy, 2015. 1517706106, 9781517706104. 2. Joyanes Aguilar, Luis y Zahonero Martínez, Ignacio. ALGORITMOS Y ESTRUCTURAS DE DATOS. UNA PERSPECTIVA EN C. s.l. : McGraw-Hill, 2004. 844814077x. 3. Yabar, Ronny. Imaginemos un mundo libre. [En línea] 09 de Julio de 2009. [Citado el: 24 de Octubre de 2016.] https://ronnyml.wordpress.com/2009/07/09/busqueda-lineal-y-busqueda- binaria/ 4. Facultad de Ingenieria Universidad de la República - Uruguay. Principios de Programación. [En línea] [Citado el:24 de Ocrubre de 2016.] https://www.fing.edu.uy/tecnoinf/mvd/cursos/prinprog/material/teo/prinprog-teorico11.pdf