SlideShare ist ein Scribd-Unternehmen logo
1 von 2
Busqueda lineal y Busqueda binaria.
La búsqueda lineal probablemente es sencilla de implementar e intuitiva. Básicamente consiste
en buscar de manera secuencial un elemento, es decir, preguntar si el elemento buscado es
igual al primero, segundo, tercero y así sucesivamente hasta encontrar el deseado.
La búsqueda binaria consiste en la siguiente idea: se va dividiendo el arreglo en mitades. Por
ejemplo supongamos que tenemos este vector:
int vector[10] = {2,4,6,8,10,12,14,16,18,20};
La clave que queremos buscar es 6. El algoritmo funciona de la siguien manera
1. Se determinan un indice arriba y un indice abajo, Iarriba=0 e Iabajo=9
respectivamente.
2. Se determina un indice central, Icentro = (Iarriba + Iabajo)/2, en este caso
quedaría Icentro = 4.
3. Evaluamos si vector[Icentro] es igual a la clave de busqueda, si es igual ya
encontramos la clave y devolvemos Icentro.
4. Si son distintos, evaluamos si vector[Icentro] es mayor o menos que la clave, como
el arreglo está ordenado al hacer esto ya podemos descartar una mitad del arreglo
asegurandonos que en esa mitad no está la clave que buscamos. En nuestro
caso vector[Icentro] = 4 < 6, entonces la parte del arreglo vector[0...4] ya
puede descartarse.
5. Reasignamos Iarriba o Iabajo para obtener la nueva parte del arreglo en donde
queremos buscar. Iarriba, queda igual ya que sigue siendo el tope. Iabajo lo tenemos
subir hasta 5, entonces quedaria Iarriba = 9, Iabajo = 5. Y volvemos al paso 2.
Si la clave no fuese encontrada en algun momento Iabajo > Iarriba, con un while vamos a
controlar esta condición para salir del ciclo en tal caso y devolver -1 (clave no encontrada).
#include <iostream>
#include <stdlib.h>
#include "quicksort.cpp"
using namespace std;
int lineal_search(int *array, int searched, int arraySize)
{
for (int i = 0; i< arraySize; i++) {
if (searched == array[i]) {
cout << "Se encuentra en la posicion " << i + 1 << endl;
}
}
}
int binary_search(int *array, int searched, int arraySize)
{
int first = 0;
int middle;
int last = arraySize - 1;
while (first <= last) {
middle = (first + last) / 2;
if (searched == array[middle]) {
cout << "Se encuentra en la posición " << middle + 1 << endl;
return array[middle];
} else {
if (array[middle] > searched) {
last = middle - 1;
} else {
first = middle + 1;
}
}
}
return -1;
}
void print(int *array, int arraySize)
{
for (int i = 0; i < arraySize; i++) {
cout << array[i] << " ";
}
cout << endl << endl;
}
int main()
{
int arraySize;
int searched;
cout << "Ingresa el tamanyo del array" << endl;
cin >> arraySize;
int array[arraySize];
srand(time(NULL));
for (int i = 0; i < arraySize; i++) {
array[i] = rand() % 100;
}
cout << endl;
cout << "Array al inicio: " << endl;
print(array, arraySize);
cout << "Busqueda lineal -> Ingresa el elemento a buscar: ";
cin >> searched;
lineal_search(array, searched, arraySize);
cout << "Array ordenado: " << endl;
quicksort(array, 0, arraySize);
print(array, arraySize);
cout << "Busqueda binaria -> Ingresa el elemento a buscar: ";
cin >> searched;
binary_search(array, searched, arraySize);
}

Weitere ähnliche Inhalte

Was ist angesagt?

Informe metodos de ordenamiento
Informe metodos de ordenamientoInforme metodos de ordenamiento
Informe metodos de ordenamientoeliezerbs
 
Ordenar arreglos en java
Ordenar arreglos en javaOrdenar arreglos en java
Ordenar arreglos en javaeccutpl
 
Programación en Prolog para Inteligencia Artificial
Programación en Prolog para Inteligencia ArtificialProgramación en Prolog para Inteligencia Artificial
Programación en Prolog para Inteligencia ArtificialEgdares Futch H.
 
Tablas hash (Adrián García Amores)
Tablas hash (Adrián García Amores)Tablas hash (Adrián García Amores)
Tablas hash (Adrián García Amores)edi.euitio
 
Tablas hash(Margarita Arias Pérez)
Tablas hash(Margarita Arias Pérez)Tablas hash(Margarita Arias Pérez)
Tablas hash(Margarita Arias Pérez)edi.euitio
 
Informe tecnico u 5-victor uex
Informe tecnico u 5-victor uexInforme tecnico u 5-victor uex
Informe tecnico u 5-victor uexvictoruex
 
Algoritmos de ordenacion_implementacion
Algoritmos de ordenacion_implementacionAlgoritmos de ordenacion_implementacion
Algoritmos de ordenacion_implementacionJONY21
 
Semana 2 Fundamentos de Python(Entradas, Salidas y Operaciones Aritméticas)
Semana 2   Fundamentos de Python(Entradas, Salidas y Operaciones Aritméticas)Semana 2   Fundamentos de Python(Entradas, Salidas y Operaciones Aritméticas)
Semana 2 Fundamentos de Python(Entradas, Salidas y Operaciones Aritméticas)Richard Eliseo Mendoza Gafaro
 
Tabla Hash ( Andrea Bedia Suarez )
Tabla Hash ( Andrea Bedia Suarez )Tabla Hash ( Andrea Bedia Suarez )
Tabla Hash ( Andrea Bedia Suarez )edi.euitio
 
Tablas Hash (Verónica Martínez García)
Tablas Hash (Verónica Martínez García)Tablas Hash (Verónica Martínez García)
Tablas Hash (Verónica Martínez García)edi.euitio
 
Tablas hash(Mónica Fernández Flores)
Tablas hash(Mónica Fernández Flores)Tablas hash(Mónica Fernández Flores)
Tablas hash(Mónica Fernández Flores)edi.euitio
 
Tablas Hash (Leticia Gutiérrez Sánchez)
Tablas Hash (Leticia Gutiérrez Sánchez)Tablas Hash (Leticia Gutiérrez Sánchez)
Tablas Hash (Leticia Gutiérrez Sánchez)edi.euitio
 
Algoritmos De Ordenacion
Algoritmos De OrdenacionAlgoritmos De Ordenacion
Algoritmos De Ordenacionlichic
 

Was ist angesagt? (18)

Informe metodos de ordenamiento
Informe metodos de ordenamientoInforme metodos de ordenamiento
Informe metodos de ordenamiento
 
Ejercicios prolog
Ejercicios prologEjercicios prolog
Ejercicios prolog
 
Quicksort
QuicksortQuicksort
Quicksort
 
Ordenar arreglos en java
Ordenar arreglos en javaOrdenar arreglos en java
Ordenar arreglos en java
 
Practica i prolog
Practica i prologPractica i prolog
Practica i prolog
 
Programación en Prolog para Inteligencia Artificial
Programación en Prolog para Inteligencia ArtificialProgramación en Prolog para Inteligencia Artificial
Programación en Prolog para Inteligencia Artificial
 
Tablas hash (Adrián García Amores)
Tablas hash (Adrián García Amores)Tablas hash (Adrián García Amores)
Tablas hash (Adrián García Amores)
 
Tablas hash(Margarita Arias Pérez)
Tablas hash(Margarita Arias Pérez)Tablas hash(Margarita Arias Pérez)
Tablas hash(Margarita Arias Pérez)
 
Informe tecnico u 5-victor uex
Informe tecnico u 5-victor uexInforme tecnico u 5-victor uex
Informe tecnico u 5-victor uex
 
Algoritmo de quicksort
Algoritmo de quicksortAlgoritmo de quicksort
Algoritmo de quicksort
 
Algoritmos de ordenacion_implementacion
Algoritmos de ordenacion_implementacionAlgoritmos de ordenacion_implementacion
Algoritmos de ordenacion_implementacion
 
Semana 2 Fundamentos de Python(Entradas, Salidas y Operaciones Aritméticas)
Semana 2   Fundamentos de Python(Entradas, Salidas y Operaciones Aritméticas)Semana 2   Fundamentos de Python(Entradas, Salidas y Operaciones Aritméticas)
Semana 2 Fundamentos de Python(Entradas, Salidas y Operaciones Aritméticas)
 
Tabla Hash ( Andrea Bedia Suarez )
Tabla Hash ( Andrea Bedia Suarez )Tabla Hash ( Andrea Bedia Suarez )
Tabla Hash ( Andrea Bedia Suarez )
 
Tablas Hash (Verónica Martínez García)
Tablas Hash (Verónica Martínez García)Tablas Hash (Verónica Martínez García)
Tablas Hash (Verónica Martínez García)
 
Tablas hash(Mónica Fernández Flores)
Tablas hash(Mónica Fernández Flores)Tablas hash(Mónica Fernández Flores)
Tablas hash(Mónica Fernández Flores)
 
Tablas Hash (Leticia Gutiérrez Sánchez)
Tablas Hash (Leticia Gutiérrez Sánchez)Tablas Hash (Leticia Gutiérrez Sánchez)
Tablas Hash (Leticia Gutiérrez Sánchez)
 
Informe tecnico unidad 6
Informe tecnico unidad 6Informe tecnico unidad 6
Informe tecnico unidad 6
 
Algoritmos De Ordenacion
Algoritmos De OrdenacionAlgoritmos De Ordenacion
Algoritmos De Ordenacion
 

Andere mochten auch

Búsqueda secuencial en tabla ordenada
Búsqueda secuencial  en tabla ordenadaBúsqueda secuencial  en tabla ordenada
Búsqueda secuencial en tabla ordenadaEdwin Chavarria
 
Busqueda Binaria
Busqueda BinariaBusqueda Binaria
Busqueda BinariaITCV
 
Algoritmo, Ordenacion y Búsqueda
Algoritmo, Ordenacion y BúsquedaAlgoritmo, Ordenacion y Búsqueda
Algoritmo, Ordenacion y BúsquedaJavier Alvarez
 
Presentación1
Presentación1Presentación1
Presentación1cipq
 
Algortimos De Ordenamiento
Algortimos De OrdenamientoAlgortimos De Ordenamiento
Algortimos De OrdenamientoRolf Pinto
 
Tema 2 eficiencia y complejidad
Tema 2 eficiencia y complejidadTema 2 eficiencia y complejidad
Tema 2 eficiencia y complejidadCarlos A. Iglesias
 
Ordenamiento en C++
Ordenamiento en C++Ordenamiento en C++
Ordenamiento en C++compumet sac
 
Método de ordenamiento shell
Método de ordenamiento shellMétodo de ordenamiento shell
Método de ordenamiento shellUDG
 
Busquedas binarias y secuenciales
Busquedas binarias y secuencialesBusquedas binarias y secuenciales
Busquedas binarias y secuencialesLuis Igoodbad
 
Búsqueda binaria iterativa
Búsqueda binaria iterativaBúsqueda binaria iterativa
Búsqueda binaria iterativaOmar Daza
 
Programacion estructurada
Programacion estructuradaProgramacion estructurada
Programacion estructuradalexar4203
 
Archivo secuencial-indexado
Archivo secuencial-indexadoArchivo secuencial-indexado
Archivo secuencial-indexadoAleizapata
 

Andere mochten auch (20)

Archivo logico
Archivo logicoArchivo logico
Archivo logico
 
Búsqueda secuencial en tabla ordenada
Búsqueda secuencial  en tabla ordenadaBúsqueda secuencial  en tabla ordenada
Búsqueda secuencial en tabla ordenada
 
Busqueda Binaria
Busqueda BinariaBusqueda Binaria
Busqueda Binaria
 
Metodo de busqueda secuencial
Metodo de busqueda secuencialMetodo de busqueda secuencial
Metodo de busqueda secuencial
 
Algoritmo, Ordenacion y Búsqueda
Algoritmo, Ordenacion y BúsquedaAlgoritmo, Ordenacion y Búsqueda
Algoritmo, Ordenacion y Búsqueda
 
Presentación1
Presentación1Presentación1
Presentación1
 
CARACTERES Y CADENAS LENGUAJE C
CARACTERES Y CADENAS LENGUAJE CCARACTERES Y CADENAS LENGUAJE C
CARACTERES Y CADENAS LENGUAJE C
 
Algortimos De Ordenamiento
Algortimos De OrdenamientoAlgortimos De Ordenamiento
Algortimos De Ordenamiento
 
Ordenamiento por seleccion
Ordenamiento por seleccionOrdenamiento por seleccion
Ordenamiento por seleccion
 
Método Burbuja
Método BurbujaMétodo Burbuja
Método Burbuja
 
Tema 2 eficiencia y complejidad
Tema 2 eficiencia y complejidadTema 2 eficiencia y complejidad
Tema 2 eficiencia y complejidad
 
Pseudocodigo
PseudocodigoPseudocodigo
Pseudocodigo
 
Ordenamiento en C++
Ordenamiento en C++Ordenamiento en C++
Ordenamiento en C++
 
Método de ordenamiento shell
Método de ordenamiento shellMétodo de ordenamiento shell
Método de ordenamiento shell
 
Problema de las 8 reinas
Problema de las 8 reinasProblema de las 8 reinas
Problema de las 8 reinas
 
Busquedas binarias y secuenciales
Busquedas binarias y secuencialesBusquedas binarias y secuenciales
Busquedas binarias y secuenciales
 
Divide y Venceras
Divide y VencerasDivide y Venceras
Divide y Venceras
 
Búsqueda binaria iterativa
Búsqueda binaria iterativaBúsqueda binaria iterativa
Búsqueda binaria iterativa
 
Programacion estructurada
Programacion estructuradaProgramacion estructurada
Programacion estructurada
 
Archivo secuencial-indexado
Archivo secuencial-indexadoArchivo secuencial-indexado
Archivo secuencial-indexado
 

Ähnlich wie Busqueda lineal y busqueda binaria

ALGORITMO DE BUSQUEDA.pptx
ALGORITMO DE BUSQUEDA.pptxALGORITMO DE BUSQUEDA.pptx
ALGORITMO DE BUSQUEDA.pptxEverMuchairo1
 
Metodologia para resolver problemas con Programacion orientada a Objetos
Metodologia para resolver problemas con Programacion orientada a ObjetosMetodologia para resolver problemas con Programacion orientada a Objetos
Metodologia para resolver problemas con Programacion orientada a ObjetosWilliam Diaz S
 
Informe ordenamiento
Informe ordenamientoInforme ordenamiento
Informe ordenamientoIINTERACTIVE
 
UNIDAD IV - metodos de busqueda
UNIDAD IV - metodos de busquedaUNIDAD IV - metodos de busqueda
UNIDAD IV - metodos de busquedaMaiky Kobatakane
 
3 desarollo manejo datos capitulo 2 -02 operaciones arreglos dos dime (3)
3 desarollo manejo datos capitulo 2 -02 operaciones arreglos dos dime (3)3 desarollo manejo datos capitulo 2 -02 operaciones arreglos dos dime (3)
3 desarollo manejo datos capitulo 2 -02 operaciones arreglos dos dime (3)luis freddy
 
3 desarollo manejo datos capitulo 2 -02 operaciones arreglos dos dime
3 desarollo manejo datos capitulo 2 -02 operaciones arreglos dos dime3 desarollo manejo datos capitulo 2 -02 operaciones arreglos dos dime
3 desarollo manejo datos capitulo 2 -02 operaciones arreglos dos dimeluis freddy
 
Jflambert lyada - ayudantia matematicas discretas
Jflambert   lyada - ayudantia matematicas discretasJflambert   lyada - ayudantia matematicas discretas
Jflambert lyada - ayudantia matematicas discretasFrancisco Lambert Obediente
 
Jflambert lyada - ayudantia ordenamiento y teo maestro
Jflambert   lyada - ayudantia ordenamiento y teo maestroJflambert   lyada - ayudantia ordenamiento y teo maestro
Jflambert lyada - ayudantia ordenamiento y teo maestroFrancisco Lambert Obediente
 
Algoritmos de busqueda - hash truncamiento
Algoritmos de busqueda - hash truncamientoAlgoritmos de busqueda - hash truncamiento
Algoritmos de busqueda - hash truncamientoLutzo Guzmán
 
Jyoc java-cap04 vectores (arrays)
Jyoc java-cap04 vectores (arrays)Jyoc java-cap04 vectores (arrays)
Jyoc java-cap04 vectores (arrays)Jyoc X
 
Clase6 collections
Clase6 collectionsClase6 collections
Clase6 collectionsjorg_marq
 
Algoritmos de busqueda
Algoritmos de busquedaAlgoritmos de busqueda
Algoritmos de busquedaEnrique Y Ch
 

Ähnlich wie Busqueda lineal y busqueda binaria (20)

Java
JavaJava
Java
 
concepto de estructuras de datos
concepto de estructuras de datosconcepto de estructuras de datos
concepto de estructuras de datos
 
ALGORITMO DE BUSQUEDA.pptx
ALGORITMO DE BUSQUEDA.pptxALGORITMO DE BUSQUEDA.pptx
ALGORITMO DE BUSQUEDA.pptx
 
Metodologia para resolver problemas con Programacion orientada a Objetos
Metodologia para resolver problemas con Programacion orientada a ObjetosMetodologia para resolver problemas con Programacion orientada a Objetos
Metodologia para resolver problemas con Programacion orientada a Objetos
 
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
 
Informe ordenamiento
Informe ordenamientoInforme ordenamiento
Informe ordenamiento
 
Informe ordenamiento
Informe ordenamientoInforme ordenamiento
Informe ordenamiento
 
Algoritmos divide y vencerás
Algoritmos divide y vencerásAlgoritmos divide y vencerás
Algoritmos divide y vencerás
 
UNIDAD IV - metodos de busqueda
UNIDAD IV - metodos de busquedaUNIDAD IV - metodos de busqueda
UNIDAD IV - metodos de busqueda
 
12 Arreglos
12 Arreglos12 Arreglos
12 Arreglos
 
3 desarollo manejo datos capitulo 2 -02 operaciones arreglos dos dime (3)
3 desarollo manejo datos capitulo 2 -02 operaciones arreglos dos dime (3)3 desarollo manejo datos capitulo 2 -02 operaciones arreglos dos dime (3)
3 desarollo manejo datos capitulo 2 -02 operaciones arreglos dos dime (3)
 
3 desarollo manejo datos capitulo 2 -02 operaciones arreglos dos dime
3 desarollo manejo datos capitulo 2 -02 operaciones arreglos dos dime3 desarollo manejo datos capitulo 2 -02 operaciones arreglos dos dime
3 desarollo manejo datos capitulo 2 -02 operaciones arreglos dos dime
 
Jflambert lyada - ayudantia matematicas discretas
Jflambert   lyada - ayudantia matematicas discretasJflambert   lyada - ayudantia matematicas discretas
Jflambert lyada - ayudantia matematicas discretas
 
Jflambert lyada - ayudantia ordenamiento y teo maestro
Jflambert   lyada - ayudantia ordenamiento y teo maestroJflambert   lyada - ayudantia ordenamiento y teo maestro
Jflambert lyada - ayudantia ordenamiento y teo maestro
 
Informe ordenamiento
Informe ordenamientoInforme ordenamiento
Informe ordenamiento
 
Algoritmos de busqueda - hash truncamiento
Algoritmos de busqueda - hash truncamientoAlgoritmos de busqueda - hash truncamiento
Algoritmos de busqueda - hash truncamiento
 
Jyoc java-cap04 vectores (arrays)
Jyoc java-cap04 vectores (arrays)Jyoc java-cap04 vectores (arrays)
Jyoc java-cap04 vectores (arrays)
 
Clase6 collections
Clase6 collectionsClase6 collections
Clase6 collections
 
Algoritmos de busqueda
Algoritmos de busquedaAlgoritmos de busqueda
Algoritmos de busqueda
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamiento
 

Kürzlich hochgeladen

Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptxMonitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptxJUANCARLOSAPARCANARE
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfAlfredoRamirez953210
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdfOswaldoGonzalezCruz
 
Los Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadLos Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadJonathanCovena1
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOweislaco
 
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
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docxAgustinaNuez21
 
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
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfcoloncopias5
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfManuel Molina
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALEDUCCUniversidadCatl
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...fcastellanos3
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Angélica Soledad Vega Ramírez
 
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
 
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
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDUgustavorojas179704
 
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
 

Kürzlich hochgeladen (20)

Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptxMonitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
 
Los Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadLos Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la Sostenibilidad
 
TL/CNL – 2.ª FASE .
TL/CNL – 2.ª FASE                       .TL/CNL – 2.ª FASE                       .
TL/CNL – 2.ª FASE .
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
 
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
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docx
 
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
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
 
VISITA À PROTEÇÃO CIVIL _
VISITA À PROTEÇÃO CIVIL                  _VISITA À PROTEÇÃO CIVIL                  _
VISITA À PROTEÇÃO CIVIL _
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
 
Aedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptxAedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptx
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...
 
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
 
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
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
 
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
 

Busqueda lineal y busqueda binaria

  • 1. Busqueda lineal y Busqueda binaria. La búsqueda lineal probablemente es sencilla de implementar e intuitiva. Básicamente consiste en buscar de manera secuencial un elemento, es decir, preguntar si el elemento buscado es igual al primero, segundo, tercero y así sucesivamente hasta encontrar el deseado. La búsqueda binaria consiste en la siguiente idea: se va dividiendo el arreglo en mitades. Por ejemplo supongamos que tenemos este vector: int vector[10] = {2,4,6,8,10,12,14,16,18,20}; La clave que queremos buscar es 6. El algoritmo funciona de la siguien manera 1. Se determinan un indice arriba y un indice abajo, Iarriba=0 e Iabajo=9 respectivamente. 2. Se determina un indice central, Icentro = (Iarriba + Iabajo)/2, en este caso quedaría Icentro = 4. 3. Evaluamos si vector[Icentro] es igual a la clave de busqueda, si es igual ya encontramos la clave y devolvemos Icentro. 4. Si son distintos, evaluamos si vector[Icentro] es mayor o menos que la clave, como el arreglo está ordenado al hacer esto ya podemos descartar una mitad del arreglo asegurandonos que en esa mitad no está la clave que buscamos. En nuestro caso vector[Icentro] = 4 < 6, entonces la parte del arreglo vector[0...4] ya puede descartarse. 5. Reasignamos Iarriba o Iabajo para obtener la nueva parte del arreglo en donde queremos buscar. Iarriba, queda igual ya que sigue siendo el tope. Iabajo lo tenemos subir hasta 5, entonces quedaria Iarriba = 9, Iabajo = 5. Y volvemos al paso 2. Si la clave no fuese encontrada en algun momento Iabajo > Iarriba, con un while vamos a controlar esta condición para salir del ciclo en tal caso y devolver -1 (clave no encontrada). #include <iostream> #include <stdlib.h> #include "quicksort.cpp" using namespace std; int lineal_search(int *array, int searched, int arraySize) { for (int i = 0; i< arraySize; i++) { if (searched == array[i]) { cout << "Se encuentra en la posicion " << i + 1 << endl; } } } int binary_search(int *array, int searched, int arraySize) { int first = 0; int middle; int last = arraySize - 1; while (first <= last) {
  • 2. middle = (first + last) / 2; if (searched == array[middle]) { cout << "Se encuentra en la posición " << middle + 1 << endl; return array[middle]; } else { if (array[middle] > searched) { last = middle - 1; } else { first = middle + 1; } } } return -1; } void print(int *array, int arraySize) { for (int i = 0; i < arraySize; i++) { cout << array[i] << " "; } cout << endl << endl; } int main() { int arraySize; int searched; cout << "Ingresa el tamanyo del array" << endl; cin >> arraySize; int array[arraySize]; srand(time(NULL)); for (int i = 0; i < arraySize; i++) { array[i] = rand() % 100; } cout << endl; cout << "Array al inicio: " << endl; print(array, arraySize); cout << "Busqueda lineal -> Ingresa el elemento a buscar: "; cin >> searched; lineal_search(array, searched, arraySize); cout << "Array ordenado: " << endl; quicksort(array, 0, arraySize); print(array, arraySize); cout << "Busqueda binaria -> Ingresa el elemento a buscar: "; cin >> searched; binary_search(array, searched, arraySize); }