53. Programación en C++ || Búsquedas || Búsqueda Secuencial en un arreglo
Summary
TLDREste video del curso de C++ introduce el bloque de búsquedas en arreglos, comenzando con la búsqueda secuencial. Se explica cómo funciona la búsqueda secuencial en arreglos desordenados, mostrando un ejemplo práctico con un arreglo de números enteros. Luego, se implementa el algoritmo en C++, utilizando un iterador y una variable de bandera para determinar si un dato está presente en el arreglo. El video también ilustra cómo la búsqueda secuencial es aplicable no solo a números sino también a caracteres, demostrando con un ejemplo de un arreglo de vocales. Finalmente, se menciona que la búsqueda secuencial es independiente del orden del arreglo y se alude al próximo video sobre la búsqueda binaria, que sí requiere un arreglo ordenado.
Takeaways
- 😀 El video comienza con una introducción a un nuevo bloque del curso de C++, enfocado en técnicas de búsqueda en arreglos.
- 🔍 Se presenta la búsqueda secuencial como el tema principal del primer video, una técnica de búsqueda sencilla y directa.
- 📚 Se describe que la búsqueda secuencial implica recorrer un arreglo desordenado elemento por elemento para encontrar un dato específico.
- 💡 Se ilustra cómo se utiliza un arreglo de números desordenados y cómo se busca un elemento específico, como el número cuatro, dentro de él.
- 📝 Se menciona la necesidad de utilizar la biblioteca estándar de C++ y el espacio de nombres 'std' para implementar la búsqueda secuencial.
- 🔑 Se introduce la variable 'bandera' para determinar si un dato se encuentra o no en el arreglo, inicializada en 'falso'.
- 🔄 Se describe el uso de un bucle 'while' para iterar a través del arreglo, comparando cada elemento con el dato deseado.
- 📌 Se aclara que si el dato se encuentra, la variable 'bandera' cambia a 'verdadero', y se interrumpe la búsqueda.
- 📊 Se muestra cómo se utiliza la variable 'i - 1' para reportar la posición correcta del elemento encontrado en el arreglo.
- 🚫 Se señala que si la 'bandera' sigue siendo 'falso' al final del bucle, significa que el dato no se encontró en el arreglo.
- 🔠 Se demuestra que la búsqueda secuencial no solo se aplica a arreglos de números enteros sino también a arreglos de caracteres.
- 🔄 Se ejemplifica la búsqueda de un carácter específico, como la vocal 'o', dentro de un arreglo de caracteres y cómo se reporta su posición.
Q & A
¿Qué es la búsqueda secuencial y cómo funciona?
-La búsqueda secuencial es un método de búsqueda en una lista desordenada donde se recorre cada elemento uno por uno hasta encontrar el dato deseado o hasta llegar al final de la lista. Funciona iniciando desde la posición cero y comparando cada elemento con el dato a buscar.
¿Por qué se utiliza la variable 'bandera' en el algoritmo de búsqueda secuencial?
-La variable 'bandera' se utiliza para indicar si el elemento buscado ha sido encontrado o no en el arreglo. Se inicializa en falso y se cambia a verdadero cuando se encuentra el dato.
¿Cómo se declara y rellena un arreglo de tipo entero en el ejemplo del script?
-Se declara un arreglo de tipo entero con el nombre 'a' y se rellena directamente en la declaración con los elementos 3, 4, 5, 1 y 5.
¿Cuál es el propósito de la variable 'i' en el algoritmo de búsqueda secuencial?
-La variable 'i' actúa como un iterador que recorre el arreglo de forma secuencial, accesando cada posición del arreglo para comparar con el dato a buscar.
¿Cómo se implementa la condición de parada en el bucle while del algoritmo de búsqueda secuencial?
-El bucle while se ejecuta mientras 'bandera' sea falso (es decir, mientras no se haya encontrado el elemento) y 'i' sea menor al número de elementos en el arreglo (en este caso, 5).
¿Qué hace el condicional dentro del bucle while en el algoritmo de búsqueda secuencial?
-El condicional dentro del bucle while verifica si el elemento actual en la posición 'i' es igual al dato a buscar. Si es cierto, cambia el valor de 'bandera' a verdadero y continua la iteración.
¿Cómo se determina si el dato buscado no está en el arreglo?
-Si después de recorrer todo el arreglo la 'bandera' sigue siendo falsa, significa que el dato no ha sido encontrado y se indica que el número a buscar no existe en el arreglo.
¿Por qué se utiliza 'i - 1' para mostrar la posición del elemento encontrado en el arreglo?
-Se utiliza 'i - 1' porque el iterador 'i' aumenta después de encontrar el elemento, por lo que al restar uno se obtiene la posición correcta del elemento encontrado en el arreglo.
¿La búsqueda secuencial solo se puede utilizar con arreglos de números enteros?
-No, la búsqueda secuencial no está limitada a arreglos de números enteros. También se puede utilizar con arreglos de caracteres, como se muestra al buscar una vocal en el arreglo de caracteres.
¿Qué se aprenderá en el próximo video del curso según el script?
-En el próximo video del curso se aprenderá sobre la búsqueda binaria, la cual requiere que el arreglo esté ordenado.
Outlines
🔍 Introducción a la Búsqueda Secuencial
El primer párrafo presenta el inicio de un nuevo bloque de lecciones sobre la búsqueda secuencial, una técnica utilizada para encontrar un elemento en un arreglo desordenado. Se describe cómo funciona la búsqueda secuencial, que consiste en revisar cada posición del arreglo desde la primera hasta encontrar el elemento deseado o determinar que no está presente. Se menciona la necesidad de un iterador para recorrer el arreglo y una variable 'bandera' para indicar si el elemento fue encontrado o no. El script incluye un ejemplo práctico donde se busca el número cuatro en un arreglo de números enteros y se detalla el proceso de implementación del algoritmo en C++, incluyendo la declaración de variables y la estructura del bucle while que se utiliza para la búsqueda.
📚 Explicación y Ejemplo de Búsqueda Secuencial
El segundo párrafo profundiza en el concepto de búsqueda secuencial, explicando la lógica detrás de la técnica y cómo se aplica en diferentes situaciones. Se ilustra con un ejemplo donde se busca el número uno en un arreglo, mostrando cómo el algoritmo funciona y cómo se puede adaptar para buscar diferentes tipos de datos, como números o caracteres. Además, se menciona el uso de la variable 'i - 1' para determinar la posición exacta del elemento encontrado en el arreglo. Se incluyen ejemplos de cómo se presenta el resultado al usuario, ya sea que el elemento se encuentra o no en el arreglo, y se enfatiza la flexibilidad de la búsqueda secuencial para arreglos ordenados o desordenados. Finalmente, se hace una referencia a la próxima lección, donde se abordará la búsqueda binaria, que requiere que el arreglo esté ordenado.
Mindmap
Keywords
💡Búsqueda secuencial
💡Algoritmo
💡Arreglo
💡Iterador
💡Condicional
💡Variable
💡Bucle While
💡C++
💡Función main
💡Búsqueda binaria
Highlights
Introducción al nuevo bloque del curso de C++ centrado en técnicas de búsqueda secuencial y binaria.
Explicación de la búsqueda secuencial como la técnica más sencilla para encontrar un elemento en un arreglo desordenado.
Descripción de cómo funciona la búsqueda secuencial: comienza en la posición cero y avanza secuencialmente hasta encontrar el dato o el final del arreglo.
Implementación del algoritmo de búsqueda secuencial en C++ utilizando la librería estándar y el espacio de nombres std.
Declaración de un arreglo de tipo entero con elementos específicos para demostrar la búsqueda secuencial.
Uso de una variable iteradora para recorrer el arreglo y una variable 'dato' para almacenar el elemento a buscar.
Introducción de una variable 'bandera' de tipo carácter para indicar si el dato se encontró o no en el arreglo.
Estructura del bucle while para iterar el arreglo hasta encontrar el dato o determinar que no está presente.
Condicional dentro del bucle para comparar cada elemento del arreglo con el dato a buscar y actualizar la bandera.
Explicación del uso de 'i - 1' para indicar la posición correcta del elemento encontrado en el arreglo.
Compilación y ejecución del código de búsqueda secuencial, mostrando cómo se encuentra el número 4 en la posición 1 del arreglo.
Prueba de la búsqueda secuencial con un número que no se encuentra en el arreglo, como el número 10, y la confirmación de que no es encontrado.
Demostración de la búsqueda secuencial con un arreglo de caracteres, como vocales, y la búsqueda de la vocal 'o'.
Corrección de un pequeño error en el código y la compilación exitosa que muestra que la vocal 'o' se encuentra en la posición 2.
Prueba con una letra que no está en el arreglo, como la letra 'p', y la confirmación de que no se encuentra en el arreglo de caracteres.
Conclusión sobre la sencillez y utilidad de la búsqueda secuencial para arreglos desordenados y su aplicación con tipos de datos distintos a enteros.
Anuncio del próximo video que tratará sobre la búsqueda binaria, que requiere un arreglo ordenado.
Transcripts
[Música]
Hola y bienvenidos a este nuevo video
del curso de c+ más bien en este video
vamos a empezar un nuevo bloque que va a
ser un bloque muy cortito nada más vamos
a ver dos videos búsqueda secuencial y
búsqueda binaria bien búsquedas en
arreglos en este video vamos a comenzar
por la búsqueda secuencial es la más
sencilla y De qué trata esto más o menos
de la búsqueda secuencial bien Nosotros
hemos estado poniendo o viendo lo que
son los arreglos verdad arreglos enteros
arreglos de flotantes y arreglos de
caracteres ahora qué tal si tenemos un
arreglo A supongamos que tenga cinco
elementos y este arreglo va a tener
cinco números totalmente desordenados
voy a poner a ver el tres el 4 el do el
1o y el cinco perfecto Este es mi
arreglo bien Ahora qué pasa si yo tengo
una variable supongamos voy a llamarla
dato y este dato va a almacenar el
número cuatro por ejemplo y yo quiero
darme cuenta si el número cuatro
realmente pertenece a mi arreglo Cómo
podría hacerlo bueno pues gracias a eso
está la búsqueda secuencial bien la
búsqueda secuencial lo que va a hacer es
que va a buscar secuencialmente
iniciando desde la posición cer0 la
posición uno en adelante va a buscar
todas las posiciones de Mi arreglo para
ver si encuentra el dato que yo quiero
ver si existe si lo encuentra Pues me va
a salir perfecto y si no me encuentra
también me va a decir que el dato no
existe muy bien así de fácil es la
búsqueda secuencial vamos a implementar
ahora el algoritmo de esta en c+ bien lo
primero que vamos a necesitar por
supuesto como ya sabes es la librería
eam Además vamos a utilizar la otra
librería que hemos estado viendo que es
la con. bien vamos a poner el usim
namespace std y ahora el
inain perfecto le pongo acá in Main y
listo voy a poner acá además el gch que
es la función que hemos estado poniendo
para que el ejecutable no se cierre y el
r return cer que termina con la función
Main muy bien lo primero que necesitamos
Entonces es un arreglo cierto voy a
poner acá voy a declarar un arreglo de
tipo entero y lo voy a poner de nombre a
y voy a poner aquí mismo los elementos
Bien voy a poner los mismos elementos
que he puesto aquí Perfecto entonces ya
está ese es mi arreglo de números además
también yo necesito una variable I que
va a ser el iterador que va a ir
recorriendo poco a poco Mi arreglo
además también necesito una variable
dato que es donde voy a almacenar el
dato o elemento que quiero buscar y
además necesito de tipo carácter una
variable llamada bandera bien que la voy
a inicializar en falso es decir F muy
bien y por qué estoy poniendo esta
variable bandera bueno Esto me va a
servir para darme cuenta si el número
existe o no en el arreglo ya más o menos
vamos dándonos cuenta cómo vamos a
utilizarla una vez que estemos ya en el
bucle que va a ir iterando bien bien lo
primero que vamos a necesitar entonces
voy a poner acá búsqueda secuencial
porque vamos a comenzar con el algoritmo
búsqueda secuencial lo primero que vamos
a necesitar por supuesto es comenzar o
inicializar mi iterador voy a
inicializar lo en cero Y por qué lo
inicializo porque voy a utilizar el
bucle While bien en el cual yo lo
primero que tengo que darme cuenta es
que si bandera sigue siendo igual a
falso Pues eso significa que no he
encontrado el elemento todavía porque
cuando lo encuentro voy a cambiar la
verdadera o Entonces si sigue siendo
falso Pues que se sigue ejecutando y
además yo tengo que darme cuenta que el
iterador tiene que ser menor a cinco que
es el número de elementos ya que
comienza desde cero Pues debe llegar
hasta cuatro si cierto muy bien Ahora
aquí adentro voy a poner El pequeño
condicional que me va a ayudar a darme
cuenta que si un determinado elemento es
igual al dato Pero bueno Me está
faltando el dato no lo había puesto acá
voy a poner bien dato va a ser igual y
le voy a poner a ver 4atro Perfecto
entonces yo voy a darme cuenta aquí en
el condicional que si a i es igual a
dato si esto es igual entonces la
bandera Pues cambia a verdadero Okay
perfecto y nada más me faltaría un y más
más para que mi contador vaya siguiendo
iterando con todas las posiciones de Mi
arreglo Perfecto entonces eso estaría
toda la búsqueda secuencial muy bien
perfecto lo siguiente que vamos a hacer
aquí es poner un condicional en el cual
Vamos a darnos cuenta que si bandera
sigue siendo pues falso eso significaría
que nunca entró en este condicional por
lo tanto dato no ha sido encontrado en
el arreglo bien Así que eso es lo que le
vamos a decir aquí vamos a decir que el
número a buscar no existe en el arreglo
en el arreglo perfecto ahora en el caso
no sea falso sino que sea verdadero
bien significa que el dato ha sido
encontrado en tal posición del arreglo
cosa que vamos a decirle aquí mismo voy
a decirle que el número ha sido
encontrado encontrado en la posición en
la posición del arreglo i -1 perfecto y
por qué le pongo I - 1 me estarás
preguntando aquí Alejandro por favor
dime por qué le pones I - 1 muy bien Voy
a explicarlo exactamente ahora el I -1
lo pongo porque si te darás cuenta
cuando comienza a buscar vamos a ver más
o menos lo que va haciendo el algoritmo
bien empieza valiendo cer0 por lo tanto
a sub 0 es = a 3 esto es igual a dato
pues no verdad no es igual a dato por lo
tanto aumenta uno má más ahora está en
esta parte a sub I es igual a dato por
supuesto es cuatro Entonces lo he
encontrado cambia verdadero pero Ey
sigue con el I + más y sale a buscar los
condicionales por lo tanto al ponerle I
-1 lo que estoy haciendo es que estoy
quitando el último iterador que acabo de
aumentar para que solamente me salga la
posición en la que se encuentra Recuerda
que está en la posición uno pero aquí
estaría aumentando dos veces bien al
quitarle uno pues me saldría correcta la
posición donde se encuentra mi elemento
que estoy buscando muy bien Vamos a
compilar a ver si no hay ningún tipo de
error guardamos en el escritorio Y esto
es búsqueda secuencial búsqueda
secuencial y como ves me sale perfecto y
me dice que el número ha sido encontrado
en la posición número uno vamos a ver el
número cuatro estaba posición cero
posición uno bien muy bien perfecto
Ahora sí vamos a bajar esto rápidamente
vamos a dejarlo Aquí bien bien bien
vamos a poner otro dato supongamos el
número uno bien Vamos a compilar de
nuevo y compila y me dice que el número
ha sido encontrado en la posición número
tres veamos 0 1 2 3 correcto ha sido
encontrado en la posición número tres
Ahora qué pasa si yo le pongo 10 Bueno
pues no debe encontrarlo como V me sale
que el número a buscar no existe en el
arreglo Pues por supuesto porque está
recorriendo todo el arreglo y se está
dando cuenta que el número pues no
existe muy bien así de sencillo es la
búsqueda secuencial además esta búsqueda
secuencial no solamente sirve para
entero sino que además también sirve
para buscar caracteres vamos a ver un
pequeño ejemplo rápidamente Aquí voy a
cambiar aquí esto a tipo char y voy a
poner a ver las vocales la e la i la
o la a y la u perfecto ahora el dato a
buscar pues ya no va a ser de tipo
entero sino que va a ser de tipo
carácter perfecto y acá en el dato le
voy a poner Pues a ver voy a buscar la
vocal o perfecto bien Vamos a buscarla a
ver si la encuentra compilamos y me sale
un pequeño error simplemente me faltaba
una coma listo compilamos de nuevo y
bien me sale que el número bueno en este
caso es la vocal ha sido encontrada en
la posición dos bien Vamos a ver 0 1 2
perfecto lo he encontrado bien Vamos a
probar con una letra que no esté en este
arreglo por ejemplo la letra p vamos a
compilar y me sale que la letra a buscar
no existe en el arreglo por supuesto la
letra p no existe en mi arreglo de
caracteres muy bien así de sencillo es
la búsqueda secuencial esto nos sirve
para buscar determinados elementos
dentro de un arreglo de números Okay el
arreglo puede estar ordenado o
desordenado como tú quieras muy bien
entonces en el siguiente video vamos a
ver lo que es la búsqueda binaria en el
cual Sí necesitas que la arreglo esté
ordenado bien nos vemos en el próximo
video entonces Pero recuerda que si
puedes imaginarlo puedes programarlo
hasta luego
Ver Más Videos Relacionados
Programación en C++ #12 | Búsqueda Secuencial o Lineal
52. Programación en C++ || Ordenamientos || Ordenamiento por Selección
Estructura de Datos - Análisis de Algoritmos, Complejidad
40 - Árboles Binarios de Búsqueda, Eliminar un Nodo, Implementación (EDDJava)
Factorización Trinomio de la forma ax2+bx+c
🔴Curso de Python #02 - Variables y Tipos de Datos
5.0 / 5 (0 votes)