SlideShare una empresa de Scribd logo
1 de 10
Algoritmos de Búsquedas
Búsqueda Lineal
Concepción-Talcahuano
Ingeniería en Informática
Análisis de Algoritmos
Nombre Alumno (s): Joaquín Contreras.
Gonzalo Retamal.
Nombre Profesor: Pilar Pardo.
Fecha: 16/04/2014
INDICE
Indice................................................................................................... 2
1. Introducción ................................................................................... 3
2. ALGORITMOS DE BÚSQUEDA .................................................... 4
2.1 Búsqueda lineal........................................................................ 4
2.2 Búsqueda binaria ..................................................................... 6
2.3 Búsqueda mediante transformación de claves (Hashing)......... 8
2.3.1 Truncamiento...................................................................... 8
2.3.2 Plegamiento........................................................................ 8
2.3.3 Aritmética modular.............................................................. 9
2.3.4 Mitad cuadrado................................................................... 9
3. conclusión.....................................................................................10
Página 3
1. INTRODUCCIÓN
En el siguiente informe se describirán lo tipos de búsqueda de
algoritmo lineal, binaria y método hash.
La búsqueda lineal consiste en ser la más simple de todas, debido a que trabaja
con vectores desordenados buscando desde el primer elemento hasta el último
elemento del vector completo. Siendo eficaz en vectores pequeños y búsquedas
concisas (un elemento concreto).
La búsqueda binaria trabaja en segmentos de manera que divide el vector y
compara el valor a buscar con el lado que lo tenga, en caso de identificar el dato
en ese lado, va descartando el segmento que no necesita y así sucesivamente.
Los métodos hash consisten en transformar claves numéricas y/o alfanuméricas
en direcciones o índices de un vector lo que permite aumentar la búsqueda sin
necesidad de tener los datos ordenados previamente. Existiendo 4 métodos que
son truncamiento, plegamiento, aritmética modular y mitad del cuadrado.
Página 4
2. ALGORITMOS DE BÚSQUEDA
2.1 Búsqueda lineal
Esta búsqueda es la más sencilla, busca los elementos del array desde el
primer elemento hasta el último sin necesidad de que se encuentren
ordenados. Cuando se realiza la búsqueda de manera exitosa se emite un
mensaje como “Elemento encontrado” y entrega el índice de la posición del
elemento. Para el caso contrario se entrega un mensaje como “Elemento no
existente”.
Esta búsqueda no requiere ningún requisito por parte del vector, es decir, no
necesita que el vector este ordenado o que sea par o impar, siempre se
realizara la búsqueda de la misma manera.
El único pero de esta búsqueda es que si el array es demasiado grande tomara
demasiado tiempo en recorrerla para realizar las búsquedas.
Mejor Caso:
El mejor caso para una búsqueda lineal es cuando nuestro elemento buscado
se encuentra al comienzo del array con lo que el tiempo y memoria usados
serán las mínimas y se obtendrá un resultado rápido.
Ejemplo:
0 1 2 3 4 5 6
8 7 17 81 12 99 35
Se busca el elemento “8”
Recorrido de búsqueda:
1.- índice 0 = 8, elemento encontrado, fin de la búsqueda.
Página 5
Peor Caso:
Este caso de búsqueda es cuando el elemento buscado se encuentra en la
última posición del array o que no exista, por tanto se utiliza más tiempo y
memoria para su ejecución.
Ejemplo:
0 1 …. 8 …. 40
40 12 …. 83 …. 77
Se busca elemento “77”
Recorrido de búsqueda:
1. Índice 0 ≠ 77
2. Índice 1 ≠ 77
3. …
4. Índice 8 ≠ 77
5. …
6. Índice 40 = 77, Elemento existe, fin de la búsqueda en el índice 40.
Caso Promedio:
Esto ocurre cuando el elemento a buscar esta en el medio de la array.
Ejemplo:
0 1 2 3 4 5 6
33 21 12 19 73 61 15
Se busca elemento “19”
Recorrido de Busqueda:
1.- Indice 0 ≠ 19
2.- Indice 1 ≠ 19
3.- Indice 2 ≠ 19
4.- Indice 3 = 19, termina la búsqueda en la mitad de la raid.
Página 6
2.2 Búsqueda binaria
La mejor forma de definir esta búsqueda es con el concepto “Divide y Vencerás”,
ya que la búsqueda binaria se utiliza en arrays unidimensionales los cuales se van
dividiendo en partes iguales.
Esta búsqueda a diferencia de la linear necesita que los datos estén ordenados.
Procedimiento
Se ubica en la posición central del vector, se compara el valor de la posición y si
es el valor buscado la búsqueda termina ahí; caso contrario se preguntara si el
elemento a buscar es mayor o menor, si es mayor el elemento se seguirá
buscando en la segunda mitad del vector, si es menor se buscara en la primera
mitad. La mitad del vector que no se utilizara es eliminada.
El proceso se repite hasta que el elemento a buscar es encontrado.
Ejemplo:
Buscar un el elemento “10” dentro de una lista ordenada
2 4 7 10 12 22 23 30 33 41
Realización del procedimiento de dividir el arreglo en mitad y comprar.
Paso 1
2 4 7 10 12 22 23 30 33 41
Paso 2
2 4 7 10 12
Paso 3
7 10 12
Paso 4
10 12
El algoritmo concluye al encontrar el dato buscado (“10”) en el primer elemento de
la lista; en este caso quedando 2 resultados 10 y 12, donde 10 es el primer
elemento de la lista.
Mejor Caso:
Se requiere solo una comparación para encontrar el elemento; el tiempo de
ejecución óptimo no depende de la cantidad de datos que se tenga.
El esfuerzo mínimo es 1.
Caso promedio:
Página 7
Nuestro caso promedio es 1/2 log2n.
Peor Caso:
Se realiza la búsqueda binaria progresivamente, disminuye el número de
elementos sobre el que se va realizando la búsqueda. Tas log2n divisiones se
habrá localizado el elemento o se tendrá la seguridad de que no existe.
El esfuerzo máximo es log2n.
Página 8
2.3 Búsqueda mediante transformación de claves
(Hashing)
Consiste en transformar claves numéricas y/o alfanuméricas en direcciones o
índices de un vector lo que permite aumentar la búsqueda sin necesidad de tener
los datos ordenados previamente.
Existen 4 métodos de transformación de claves:
- Truncamiento
- Plegamiento
- Aritmética Modular
- Mitad del cuadrado
2.3.1 Truncamiento
Ignora parte de la clave y se utiliza la parte restante directamente como índice.
Ejemplo: Claves de 8 dígitos (números enteros) y la tabla de transformación posee
mil posiciones, para el índice se considera el primer, segundo y quinto dígito
formando así la función.
Clave: 89512327 → h(clave) = 892
2.3.2 Plegamiento
Esta técnica se basa en dividir la clave en diferentes partes y la combinación
de las partes en un modo conveniente para obtener el índice.
La clave se divide en varias partes n1, n2, n3,….n∞, donde cada parte tiene el
mismo número de dígitos que la dirección especificada (con la única posibilidad de
excepción de la última parte).
H(x)= n1 + n2 + n3 +…+ x∞
Ejemplo.
El número de identificación de los empleados es el campo clave de una empresa y
consta de cuatro dígitos y las direcciones reales son 100. Se desea calcular las
direcciones correspondientes por el método de plegamiento.
Claves: 2250, 1935, 3144
Página 9
H(2250) = 22 + 50 = 72
H(1935) = 19 + 35 = 54
H(3144) = 31 + 44 = 7
2.3.3 Aritmética modular
Este método convierte la clave a un entero, se divide por el tamaño del rango
del índice y toma el resto como resultado. La función que se utiliza es el MOD
(módulo o resto de la división entera).
H(x)= x MOD m
Se tiene la clave=234661234 MOD 101 = 56
234661234 MOD 101 = 56
2.3.4 Mitad cuadrado
Este método calcula el cuadrado de la clave que se posee (x).
La función de conversión se define como: H(x)=c
Donde c se obtiene eliminando dígitos a ambos lados de x²
Ejemplo:
En una empresa hay 80 empleados, cada uno tiene un número de identificación de
4 dígitos y las direcciones de memoria van de 0 a 100.
x → 5120
x² → 26214400; Por lo tanto H(x) = 14
Página
10
3. CONCLUSIÓN
Este método de búsqueda sirve para los array (vectores) pequeños ya que
en los array de mayor tamaño el consumo de recursos se intensifica y el tiempo se
va alargando mucho más si el elemento a buscar está en la última posición (peor
caso). Recomendable para los sistemas pequeños (empotrados) o redes locales
pequeñas.

Más contenido relacionado

La actualidad más candente

Arbol binario de busqueda java
Arbol binario de busqueda   javaArbol binario de busqueda   java
Arbol binario de busqueda javaFranco Guamán
 
Arboles En Estructura de Datos
Arboles En Estructura de DatosArboles En Estructura de Datos
Arboles En Estructura de DatosDARKGIRL93
 
METODOS DE ORDENACION ORDENAMIENTO Y BUSQUEDA (ALGORITMOS)
METODOS DE ORDENACION ORDENAMIENTO Y BUSQUEDA (ALGORITMOS)METODOS DE ORDENACION ORDENAMIENTO Y BUSQUEDA (ALGORITMOS)
METODOS DE ORDENACION ORDENAMIENTO Y BUSQUEDA (ALGORITMOS)Fuerza Auriazul
 
Estructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no linealesEstructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no linealesJosé Antonio Sandoval Acosta
 
Métodos predictivos y Descriptivos - MINERÍA DE DATOS
Métodos predictivos y Descriptivos - MINERÍA DE DATOSMétodos predictivos y Descriptivos - MINERÍA DE DATOS
Métodos predictivos y Descriptivos - MINERÍA DE DATOSlalopg
 
Ordenamientos burbuja e inserción
Ordenamientos burbuja e inserciónOrdenamientos burbuja e inserción
Ordenamientos burbuja e inserciónAlvaro Enrique Ruano
 
Mapa Conceptual de Grafos
Mapa Conceptual de GrafosMapa Conceptual de Grafos
Mapa Conceptual de GrafosSandra Biondi
 
Diagrama De Secuencia
Diagrama De SecuenciaDiagrama De Secuencia
Diagrama De SecuenciaRafael
 
Data structure lecture 1
Data structure lecture 1Data structure lecture 1
Data structure lecture 1Kumar
 
Cuadro comparativo algoritmos de busqueda
Cuadro comparativo algoritmos de busquedaCuadro comparativo algoritmos de busqueda
Cuadro comparativo algoritmos de busquedaCristopher Morales Ruiz
 
Estructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colasEstructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colasHuascar Génere
 

La actualidad más candente (20)

Tipos de listas en estructura de datos
Tipos de listas en estructura de datosTipos de listas en estructura de datos
Tipos de listas en estructura de datos
 
Arbol binario de busqueda java
Arbol binario de busqueda   javaArbol binario de busqueda   java
Arbol binario de busqueda java
 
Arboles En Estructura de Datos
Arboles En Estructura de DatosArboles En Estructura de Datos
Arboles En Estructura de Datos
 
METODOS DE ORDENACION ORDENAMIENTO Y BUSQUEDA (ALGORITMOS)
METODOS DE ORDENACION ORDENAMIENTO Y BUSQUEDA (ALGORITMOS)METODOS DE ORDENACION ORDENAMIENTO Y BUSQUEDA (ALGORITMOS)
METODOS DE ORDENACION ORDENAMIENTO Y BUSQUEDA (ALGORITMOS)
 
Búsqueda secuencial y binaria
Búsqueda secuencial y binariaBúsqueda secuencial y binaria
Búsqueda secuencial y binaria
 
Ejemplo dfd
Ejemplo dfdEjemplo dfd
Ejemplo dfd
 
Estructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no linealesEstructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no lineales
 
Métodos predictivos y Descriptivos - MINERÍA DE DATOS
Métodos predictivos y Descriptivos - MINERÍA DE DATOSMétodos predictivos y Descriptivos - MINERÍA DE DATOS
Métodos predictivos y Descriptivos - MINERÍA DE DATOS
 
Quicksort
QuicksortQuicksort
Quicksort
 
Selection sort
Selection sortSelection sort
Selection sort
 
Ordenamientos burbuja e inserción
Ordenamientos burbuja e inserciónOrdenamientos burbuja e inserción
Ordenamientos burbuja e inserción
 
Arboles M-Way, 2-3 y 2-3-4
Arboles M-Way, 2-3 y 2-3-4Arboles M-Way, 2-3 y 2-3-4
Arboles M-Way, 2-3 y 2-3-4
 
Mapa Conceptual de Grafos
Mapa Conceptual de GrafosMapa Conceptual de Grafos
Mapa Conceptual de Grafos
 
Diagrama De Secuencia
Diagrama De SecuenciaDiagrama De Secuencia
Diagrama De Secuencia
 
Pilas y colas
Pilas y colasPilas y colas
Pilas y colas
 
Data structure lecture 1
Data structure lecture 1Data structure lecture 1
Data structure lecture 1
 
Cuadro comparativo algoritmos de busqueda
Cuadro comparativo algoritmos de busquedaCuadro comparativo algoritmos de busqueda
Cuadro comparativo algoritmos de busqueda
 
2.1.4 ShellSort.pptx
2.1.4 ShellSort.pptx2.1.4 ShellSort.pptx
2.1.4 ShellSort.pptx
 
Memoria dinamica
Memoria dinamicaMemoria dinamica
Memoria dinamica
 
Estructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colasEstructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colas
 

Destacado

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
 
Pasos para elaborar Informe de Proyectos Educativos.
Pasos para elaborar Informe de Proyectos Educativos.Pasos para elaborar Informe de Proyectos Educativos.
Pasos para elaborar Informe de Proyectos Educativos.Sei Cobán
 
Diagrama de Flujos Ejemplos.
Diagrama de Flujos Ejemplos.Diagrama de Flujos Ejemplos.
Diagrama de Flujos Ejemplos.luismarlmg
 
Valeri lagla fernando martinez tipos de logos.pptx
Valeri lagla  fernando martinez tipos de logos.pptxValeri lagla  fernando martinez tipos de logos.pptx
Valeri lagla fernando martinez tipos de logos.pptxjhosafatt
 
Trabajodefinicionblog2.docx
Trabajodefinicionblog2.docxTrabajodefinicionblog2.docx
Trabajodefinicionblog2.docxJhoanna Andrea
 
CorelDraw parte 1...
CorelDraw parte 1...CorelDraw parte 1...
CorelDraw parte 1...990429
 
Técnicas de Redacción
Técnicas de RedacciónTécnicas de Redacción
Técnicas de Redacciónroger.lopez
 
Carta escrita-en-el-2070
Carta escrita-en-el-2070Carta escrita-en-el-2070
Carta escrita-en-el-2070bryannieto
 
Segundo parcial gisselledavalos
Segundo parcial gisselledavalosSegundo parcial gisselledavalos
Segundo parcial gisselledavalosGi_davalosR
 
Actitudes respecto a los bancos. Análisis autonómico
Actitudes respecto a los bancos. Análisis autonómicoActitudes respecto a los bancos. Análisis autonómico
Actitudes respecto a los bancos. Análisis autonómicoCrediMarket
 
INTEGRANTE DE SINERGIA 2013
INTEGRANTE DE SINERGIA 2013INTEGRANTE DE SINERGIA 2013
INTEGRANTE DE SINERGIA 2013Adriiz Barroz
 
Crucigrama
CrucigramaCrucigrama
Crucigrama990429
 
16299609 tic-a-nivel-latinoamericano-y-nacional
16299609 tic-a-nivel-latinoamericano-y-nacional16299609 tic-a-nivel-latinoamericano-y-nacional
16299609 tic-a-nivel-latinoamericano-y-nacionalDanne Cova
 
Sociedad en comandita
Sociedad en comanditaSociedad en comandita
Sociedad en comanditakatiatorres24
 
Exposicion riesgos
Exposicion riesgosExposicion riesgos
Exposicion riesgoslmgonzalezg
 

Destacado (20)

Informe analisis de algoritmos
Informe analisis de algoritmosInforme analisis de algoritmos
Informe analisis de algoritmos
 
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)
 
Pasos para elaborar Informe de Proyectos Educativos.
Pasos para elaborar Informe de Proyectos Educativos.Pasos para elaborar Informe de Proyectos Educativos.
Pasos para elaborar Informe de Proyectos Educativos.
 
Diagrama de Flujos Ejemplos.
Diagrama de Flujos Ejemplos.Diagrama de Flujos Ejemplos.
Diagrama de Flujos Ejemplos.
 
Valeri lagla fernando martinez tipos de logos.pptx
Valeri lagla  fernando martinez tipos de logos.pptxValeri lagla  fernando martinez tipos de logos.pptx
Valeri lagla fernando martinez tipos de logos.pptx
 
Trabajodefinicionblog2.docx
Trabajodefinicionblog2.docxTrabajodefinicionblog2.docx
Trabajodefinicionblog2.docx
 
CorelDraw parte 1...
CorelDraw parte 1...CorelDraw parte 1...
CorelDraw parte 1...
 
Técnicas de Redacción
Técnicas de RedacciónTécnicas de Redacción
Técnicas de Redacción
 
Carta escrita-en-el-2070
Carta escrita-en-el-2070Carta escrita-en-el-2070
Carta escrita-en-el-2070
 
Segundo parcial gisselledavalos
Segundo parcial gisselledavalosSegundo parcial gisselledavalos
Segundo parcial gisselledavalos
 
Actitudes respecto a los bancos. Análisis autonómico
Actitudes respecto a los bancos. Análisis autonómicoActitudes respecto a los bancos. Análisis autonómico
Actitudes respecto a los bancos. Análisis autonómico
 
INTEGRANTE DE SINERGIA 2013
INTEGRANTE DE SINERGIA 2013INTEGRANTE DE SINERGIA 2013
INTEGRANTE DE SINERGIA 2013
 
Ganedinerollenandoencuestas1
Ganedinerollenandoencuestas1Ganedinerollenandoencuestas1
Ganedinerollenandoencuestas1
 
Crucigrama
CrucigramaCrucigrama
Crucigrama
 
16299609 tic-a-nivel-latinoamericano-y-nacional
16299609 tic-a-nivel-latinoamericano-y-nacional16299609 tic-a-nivel-latinoamericano-y-nacional
16299609 tic-a-nivel-latinoamericano-y-nacional
 
Abstract
AbstractAbstract
Abstract
 
Sociedad en comandita
Sociedad en comanditaSociedad en comandita
Sociedad en comandita
 
Mi autobiografia
Mi autobiografiaMi autobiografia
Mi autobiografia
 
Ezio
EzioEzio
Ezio
 
Exposicion riesgos
Exposicion riesgosExposicion riesgos
Exposicion riesgos
 

Similar a Algoritmos de búsqueda

Informe algoritmos de busqueda
Informe algoritmos de busquedaInforme algoritmos de busqueda
Informe algoritmos de busquedapazmoralesv
 
Algoritmos de busqueda - hash truncamiento
Algoritmos de busqueda - hash truncamientoAlgoritmos de busqueda - hash truncamiento
Algoritmos de busqueda - hash truncamientoLutzo Guzmán
 
método de búsqueda Truncamiento
método de búsqueda Truncamientométodo de búsqueda Truncamiento
método de búsqueda TruncamientoCristopher Blum
 
Documento de Busqueda Binaria
Documento de Busqueda BinariaDocumento de Busqueda Binaria
Documento de Busqueda BinariaSanTy BizZle
 
Hash mitad al cuadrado pdf
Hash mitad al cuadrado pdfHash mitad al cuadrado pdf
Hash mitad al cuadrado pdfCarlos Carriel
 
Informe Análisis Búsqueda Binaria
Informe Análisis Búsqueda BinariaInforme Análisis Búsqueda Binaria
Informe Análisis Búsqueda BinariaJose Rivera
 
Analisis busqueda binaria y secuencia
Analisis busqueda binaria y secuencia Analisis busqueda binaria y secuencia
Analisis busqueda binaria y secuencia Jose Rios
 
Analisis busquedas !
Analisis busquedas !Analisis busquedas !
Analisis busquedas !Jose Rios
 
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
 
Aritmética Modular
Aritmética ModularAritmética Modular
Aritmética Modularvvillegass
 
Metodos de Búsqueda
Metodos de BúsquedaMetodos de Búsqueda
Metodos de BúsquedaPedro Avaria
 
Algoritmos de busqueda
Algoritmos de busquedaAlgoritmos de busqueda
Algoritmos de busquedaJohnfornerod
 

Similar a Algoritmos de búsqueda (20)

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
 
Algoritmos de busqueda - hash truncamiento
Algoritmos de busqueda - hash truncamientoAlgoritmos de busqueda - hash truncamiento
Algoritmos de busqueda - hash truncamiento
 
Busqueda de datos
Busqueda de datosBusqueda de datos
Busqueda de datos
 
Informe analisis
Informe analisisInforme analisis
Informe analisis
 
método de búsqueda Truncamiento
método de búsqueda Truncamientométodo de búsqueda Truncamiento
método de búsqueda Truncamiento
 
Documento de Busqueda Binaria
Documento de Busqueda BinariaDocumento de Busqueda Binaria
Documento de Busqueda Binaria
 
Hash mitad al cuadrado pdf
Hash mitad al cuadrado pdfHash mitad al cuadrado pdf
Hash mitad al cuadrado pdf
 
Hash mitad al cuadrado pdf
Hash mitad al cuadrado pdfHash mitad al cuadrado pdf
Hash mitad al cuadrado pdf
 
Hash mitad al cuadrado pdf
Hash mitad al cuadrado pdfHash mitad al cuadrado pdf
Hash mitad al cuadrado pdf
 
Informe Análisis Búsqueda Binaria
Informe Análisis Búsqueda BinariaInforme Análisis Búsqueda Binaria
Informe Análisis Búsqueda Binaria
 
Analisis busqueda binaria y secuencia
Analisis busqueda binaria y secuencia Analisis busqueda binaria y secuencia
Analisis busqueda binaria y secuencia
 
Analisis busquedas !
Analisis busquedas !Analisis busquedas !
Analisis busquedas !
 
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
 
Aritmética Modular
Aritmética ModularAritmética Modular
Aritmética Modular
 
Informe aritmetica modular
Informe aritmetica modularInforme aritmetica modular
Informe aritmetica modular
 
Aritmetica Modular
Aritmetica ModularAritmetica Modular
Aritmetica Modular
 
Metodos de Búsqueda
Metodos de BúsquedaMetodos de Búsqueda
Metodos de Búsqueda
 
Algoritmos de busqueda
Algoritmos de busquedaAlgoritmos de busqueda
Algoritmos de busqueda
 
Algoritmos de busqueda
Algoritmos de busquedaAlgoritmos de busqueda
Algoritmos de busqueda
 

Último

periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas123yudy
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteJuan Hernandez
 
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
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialpatriciaines1993
 
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfBIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfCESARMALAGA4
 
TEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdfTEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdfDannyTola1
 
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
 
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxPLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxJUANSIMONPACHIN
 
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIATRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIAAbelardoVelaAlbrecht1
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfvictorbeltuce
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfsamyarrocha1
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxMapyMerma1
 
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
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024IES Vicent Andres Estelles
 

Último (20)

periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parte
 
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
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundial
 
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfBIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
 
TEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdfTEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdf
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxPLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
 
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIATRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
 
PPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptxPPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptx
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
Earth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversaryEarth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversary
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdf
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptx
 
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
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024
 

Algoritmos de búsqueda

  • 1. Algoritmos de Búsquedas Búsqueda Lineal Concepción-Talcahuano Ingeniería en Informática Análisis de Algoritmos Nombre Alumno (s): Joaquín Contreras. Gonzalo Retamal. Nombre Profesor: Pilar Pardo. Fecha: 16/04/2014
  • 2. INDICE Indice................................................................................................... 2 1. Introducción ................................................................................... 3 2. ALGORITMOS DE BÚSQUEDA .................................................... 4 2.1 Búsqueda lineal........................................................................ 4 2.2 Búsqueda binaria ..................................................................... 6 2.3 Búsqueda mediante transformación de claves (Hashing)......... 8 2.3.1 Truncamiento...................................................................... 8 2.3.2 Plegamiento........................................................................ 8 2.3.3 Aritmética modular.............................................................. 9 2.3.4 Mitad cuadrado................................................................... 9 3. conclusión.....................................................................................10
  • 3. Página 3 1. INTRODUCCIÓN En el siguiente informe se describirán lo tipos de búsqueda de algoritmo lineal, binaria y método hash. La búsqueda lineal consiste en ser la más simple de todas, debido a que trabaja con vectores desordenados buscando desde el primer elemento hasta el último elemento del vector completo. Siendo eficaz en vectores pequeños y búsquedas concisas (un elemento concreto). La búsqueda binaria trabaja en segmentos de manera que divide el vector y compara el valor a buscar con el lado que lo tenga, en caso de identificar el dato en ese lado, va descartando el segmento que no necesita y así sucesivamente. Los métodos hash consisten en transformar claves numéricas y/o alfanuméricas en direcciones o índices de un vector lo que permite aumentar la búsqueda sin necesidad de tener los datos ordenados previamente. Existiendo 4 métodos que son truncamiento, plegamiento, aritmética modular y mitad del cuadrado.
  • 4. Página 4 2. ALGORITMOS DE BÚSQUEDA 2.1 Búsqueda lineal Esta búsqueda es la más sencilla, busca los elementos del array desde el primer elemento hasta el último sin necesidad de que se encuentren ordenados. Cuando se realiza la búsqueda de manera exitosa se emite un mensaje como “Elemento encontrado” y entrega el índice de la posición del elemento. Para el caso contrario se entrega un mensaje como “Elemento no existente”. Esta búsqueda no requiere ningún requisito por parte del vector, es decir, no necesita que el vector este ordenado o que sea par o impar, siempre se realizara la búsqueda de la misma manera. El único pero de esta búsqueda es que si el array es demasiado grande tomara demasiado tiempo en recorrerla para realizar las búsquedas. Mejor Caso: El mejor caso para una búsqueda lineal es cuando nuestro elemento buscado se encuentra al comienzo del array con lo que el tiempo y memoria usados serán las mínimas y se obtendrá un resultado rápido. Ejemplo: 0 1 2 3 4 5 6 8 7 17 81 12 99 35 Se busca el elemento “8” Recorrido de búsqueda: 1.- índice 0 = 8, elemento encontrado, fin de la búsqueda.
  • 5. Página 5 Peor Caso: Este caso de búsqueda es cuando el elemento buscado se encuentra en la última posición del array o que no exista, por tanto se utiliza más tiempo y memoria para su ejecución. Ejemplo: 0 1 …. 8 …. 40 40 12 …. 83 …. 77 Se busca elemento “77” Recorrido de búsqueda: 1. Índice 0 ≠ 77 2. Índice 1 ≠ 77 3. … 4. Índice 8 ≠ 77 5. … 6. Índice 40 = 77, Elemento existe, fin de la búsqueda en el índice 40. Caso Promedio: Esto ocurre cuando el elemento a buscar esta en el medio de la array. Ejemplo: 0 1 2 3 4 5 6 33 21 12 19 73 61 15 Se busca elemento “19” Recorrido de Busqueda: 1.- Indice 0 ≠ 19 2.- Indice 1 ≠ 19 3.- Indice 2 ≠ 19 4.- Indice 3 = 19, termina la búsqueda en la mitad de la raid.
  • 6. Página 6 2.2 Búsqueda binaria La mejor forma de definir esta búsqueda es con el concepto “Divide y Vencerás”, ya que la búsqueda binaria se utiliza en arrays unidimensionales los cuales se van dividiendo en partes iguales. Esta búsqueda a diferencia de la linear necesita que los datos estén ordenados. Procedimiento Se ubica en la posición central del vector, se compara el valor de la posición y si es el valor buscado la búsqueda termina ahí; caso contrario se preguntara si el elemento a buscar es mayor o menor, si es mayor el elemento se seguirá buscando en la segunda mitad del vector, si es menor se buscara en la primera mitad. La mitad del vector que no se utilizara es eliminada. El proceso se repite hasta que el elemento a buscar es encontrado. Ejemplo: Buscar un el elemento “10” dentro de una lista ordenada 2 4 7 10 12 22 23 30 33 41 Realización del procedimiento de dividir el arreglo en mitad y comprar. Paso 1 2 4 7 10 12 22 23 30 33 41 Paso 2 2 4 7 10 12 Paso 3 7 10 12 Paso 4 10 12 El algoritmo concluye al encontrar el dato buscado (“10”) en el primer elemento de la lista; en este caso quedando 2 resultados 10 y 12, donde 10 es el primer elemento de la lista. Mejor Caso: Se requiere solo una comparación para encontrar el elemento; el tiempo de ejecución óptimo no depende de la cantidad de datos que se tenga. El esfuerzo mínimo es 1. Caso promedio:
  • 7. Página 7 Nuestro caso promedio es 1/2 log2n. Peor Caso: Se realiza la búsqueda binaria progresivamente, disminuye el número de elementos sobre el que se va realizando la búsqueda. Tas log2n divisiones se habrá localizado el elemento o se tendrá la seguridad de que no existe. El esfuerzo máximo es log2n.
  • 8. Página 8 2.3 Búsqueda mediante transformación de claves (Hashing) Consiste en transformar claves numéricas y/o alfanuméricas en direcciones o índices de un vector lo que permite aumentar la búsqueda sin necesidad de tener los datos ordenados previamente. Existen 4 métodos de transformación de claves: - Truncamiento - Plegamiento - Aritmética Modular - Mitad del cuadrado 2.3.1 Truncamiento Ignora parte de la clave y se utiliza la parte restante directamente como índice. Ejemplo: Claves de 8 dígitos (números enteros) y la tabla de transformación posee mil posiciones, para el índice se considera el primer, segundo y quinto dígito formando así la función. Clave: 89512327 → h(clave) = 892 2.3.2 Plegamiento Esta técnica se basa en dividir la clave en diferentes partes y la combinación de las partes en un modo conveniente para obtener el índice. La clave se divide en varias partes n1, n2, n3,….n∞, donde cada parte tiene el mismo número de dígitos que la dirección especificada (con la única posibilidad de excepción de la última parte). H(x)= n1 + n2 + n3 +…+ x∞ Ejemplo. El número de identificación de los empleados es el campo clave de una empresa y consta de cuatro dígitos y las direcciones reales son 100. Se desea calcular las direcciones correspondientes por el método de plegamiento. Claves: 2250, 1935, 3144
  • 9. Página 9 H(2250) = 22 + 50 = 72 H(1935) = 19 + 35 = 54 H(3144) = 31 + 44 = 7 2.3.3 Aritmética modular Este método convierte la clave a un entero, se divide por el tamaño del rango del índice y toma el resto como resultado. La función que se utiliza es el MOD (módulo o resto de la división entera). H(x)= x MOD m Se tiene la clave=234661234 MOD 101 = 56 234661234 MOD 101 = 56 2.3.4 Mitad cuadrado Este método calcula el cuadrado de la clave que se posee (x). La función de conversión se define como: H(x)=c Donde c se obtiene eliminando dígitos a ambos lados de x² Ejemplo: En una empresa hay 80 empleados, cada uno tiene un número de identificación de 4 dígitos y las direcciones de memoria van de 0 a 100. x → 5120 x² → 26214400; Por lo tanto H(x) = 14
  • 10. Página 10 3. CONCLUSIÓN Este método de búsqueda sirve para los array (vectores) pequeños ya que en los array de mayor tamaño el consumo de recursos se intensifica y el tiempo se va alargando mucho más si el elemento a buscar está en la última posición (peor caso). Recomendable para los sistemas pequeños (empotrados) o redes locales pequeñas.