52. Programación en C++ || Ordenamientos || Ordenamiento por Selección
Summary
TLDREn este video del curso, se presenta el algoritmo de ordenamiento por selección, un método que requiere n^2 operaciones para ordenar una lista de n números. Se describe el proceso paso a paso, desde encontrar el mínimo elemento hasta intercambiarlo con el primer elemento y repetir el proceso hasta ordenar toda la lista. Se ilustra con un ejemplo de un arreglo de cinco números y se muestra cómo el algoritmo lo ordena de manera ascendente y descendente. El script incluye código en C# para implementar el algoritmo, utilizando librerías como Stream y Console para entrada/salida y manejo de la consola.
Takeaways
- 😀 El ordenamiento por selección es un algoritmo de ordenamiento que requiere un orden de n al cuadrado de operaciones para ordenar una lista de n números.
- 🔍 El funcionamiento básico consiste en buscar el mínimo elemento de la lista y intercambiarlo con el primer elemento, repetir el proceso hasta ordenar toda la lista.
- 📝 Se da un ejemplo práctico de cómo ordenar una lista de números desordenados utilizando el ordenamiento por selección.
- 👉 Se muestra cómo se implementa el algoritmo en un lenguaje de programación, utilizando bucles y variables auxiliares para encontrar y colocar el mínimo elemento en su posición correcta.
- 💾 Se menciona el uso de librerías como stream y connio para entrada/salida y para evitar que el ejecutable se cierre.
- 🔢 Se describe el proceso de declarar y utilizar variables para almacenar el número mínimo y realizar intercambios en el arreglo.
- 🔄 Se explica cómo se utiliza un bucle anidado para recorrer el arreglo y encontrar el elemento mínimo restante que no ha sido ordenado.
- 🔠 Se incluye un ejemplo de cómo imprimir el arreglo en orden ascendente y descendente después de aplicar el algoritmo de ordenamiento por selección.
- 🛠️ El script proporciona un enfoque práctico para entender y aplicar el ordenamiento por selección, incluyendo la implementación y la visualización de los resultados.
- 🔗 El video ofrece recursos adicionales, como un enlace para descargar el código fuente del algoritmo en la descripción.
- 👋 El script concluye con un mensaje de despedida y una promesa de seguir aprendiendo en los próximos videos del curso.
Q & A
¿Qué es el ordenamiento por selección según el script del video?
-El ordenamiento por selección es un algoritmo de ordenamiento que requiere un orden de n al cuadrado de operaciones para ordenar una lista de n números.
¿Cómo funciona el ordenamiento por selección en términos generales?
-El ordenamiento por selección funciona buscando el mínimo elemento de la lista, intercambiando ese mínimo elemento con el primer elemento (posición 0), y repetir el proceso para el resto de la lista hasta que todo esté ordenado.
¿Cuántas veces se repite el proceso de encontrar el mínimo y intercambiarlo en el algoritmo de ordenamiento por selección?
-El proceso se repite n veces, donde n es el número de elementos en la lista.
¿Cómo se describe el ejemplo dado en el script para ilustrar el ordenamiento por selección?
-Se utiliza un arreglo de números desordenados y se sigue el algoritmo de buscar el elemento mínimo y colocarlo en la posición correcta, iterando y removiendo el elemento ya ordenado hasta que todos los elementos estén en su lugar.
¿Qué librerías se mencionan en el script para el desarrollo del código relacionado con el ordenamiento por selección?
-Se mencionan las librerías 'stream' para funciones de entrada y salida y 'conio.h' para utilizar funciones de pausa y evitar que el ejecutable se cierre.
¿Cuáles son las variables necesarias para implementar el ordenamiento por selección según el script?
-Se necesitan dos contadores (i y j), una variable auxiliar para almacenar el número mínimo y una variable para almacenar el valor temporal durante los intercambios.
¿Cómo se inicializa el bucle para encontrar el número mínimo en la implementación del ordenamiento por selección?
-Se inicializa el bucle con i = 0 y se asume que el primer elemento es el mínimo hasta que se revise todo el arreglo.
¿Cómo se realiza el intercambio de elementos en el algoritmo de ordenamiento por selección según el script?
-Se utiliza una variable auxiliar para almacenar temporalmente el valor del elemento mínimo, luego se intercambian los valores del elemento mínimo con el elemento en la posición actual del bucle exterior.
¿Cómo se imprime el arreglo una vez ordenado en el script?
-Se utiliza un bucle para recorrer el arreglo y se imprime cada elemento junto con un espacio para una mejor visualización.
¿Cómo se menciona ordenar el arreglo en orden descendente en el script?
-Se sugiere realizar un bucle en orden inverso y utilizar el mismo método de impresión para mostrar el arreglo ordenado en orden descendente.
¿Qué se ofrece en la descripción del video según el script?
-En la descripción del video se ofrece un enlace para descargar el código relacionado con el ordenamiento por selección, completamente codificado.
Outlines
😀 Introducción al Ordenamiento por Selección
El primer párrafo presenta el tema central del video: el ordenamiento por selección. Se describe como un algoritmo de ordenamiento que requiere un número de operaciones de n al cuadrado para ordenar una lista de n números. El proceso consiste en buscar el mínimo elemento de la lista, intercambiarlo con el primer elemento y repetir el proceso hasta ordenar toda la lista. Se ilustra con un ejemplo de un arreglo de cinco números y se muestra cómo se ordena siguiendo el algoritmo de selección.
😀 Implementación y Ejemplo del Ordenamiento por Selección
El segundo párrafo se enfoca en la implementación del algoritmo de ordenamiento por selección en un lenguaje de programación. Se detalla el uso de bibliotecas como 'stream' y 'connio' para entrada/salida y prevenir el cierre del ejecutable, respectivamente. Se crea un arreglo desordenado y se describe el proceso de encontrar el número mínimo y realizar intercambios para ordenar la lista. Se incluyen detalles sobre las variables utilizadas y los bucles necesarios para la implementación. Además, se muestra cómo imprimir el arreglo ordenado tanto en orden ascendente como descendente, y se menciona que el código completo está disponible en la descripción del video.
Mindmap
Keywords
💡Ordenamiento por selección
💡Algoritmo de ordenamiento
💡Operaciones
💡Elemento mínimo
💡Intercambio de elementos
💡Ejemplo
💡Código
💡Variables
💡Bucles
💡Condicionales
💡Imprimir
Highlights
Introducción al ordenamiento por selección, un algoritmo de ordenamiento que requiere un orden de n al cuadrado de operaciones.
Funcionamiento del ordenamiento por selección: buscar el mínimo elemento de la lista y intercambiarlo con el primer elemento.
Proceso de ordenamiento continuo: buscar el mínimo elemento restante y colocarlo en la siguiente posición.
Ejemplo práctico de ordenamiento por selección con un arreglo de números desordenados.
Visualización del proceso de ordenamiento paso a paso con un diagrama de flechas.
Finalización del ordenamiento mostrando un arreglo de cinco números ordenado en orden ascendente.
Modificación del ejemplo para incluir librerías y configuraciones de ejecutable en un lenguaje de programación.
Uso de librerías stream y console para entrada/salida y gestión de la consola respectivamente.
Declaración de un arreglo desordenado y variables necesarias para el proceso de ordenamiento.
Implementación del bucle principal para recorrer el arreglo y encontrar el número mínimo.
Uso de un segundo bucle anidado para comparar y encontrar el número mínimo dentro del sub-arreglo restante.
Condicional para determinar si se ha encontrado un número menor y actualizar la posición del mínimo.
Intercambio del número mínimo con su posición correspondiente en el arreglo.
Algoritmo completo del ordenamiento por selección presentado en forma de código.
Inclusión de un bucle para imprimir el arreglo ordenado en orden ascendente.
Compilación y visualización del arreglo ordenado tanto en orden ascendente como descendente.
Conclusión del video con un enlace para descargar el código del algoritmo y un mensaje de despedida.
Transcripts
sí
hola y bienvenidos a este nuevo vídeo
del curso de temas más bien en este
vídeo vamos a continuar con un nuevo
ordenamiento y se trata de esta vez el
ordenamiento por selección muy bien
entonces qué es el ordenamiento por
selección vamos a decir que es un
algoritmo de ordenamiento que requiere
un orden de n al cuadrado operaciones
para ordenar una lista de n números bien
su funcionamiento es el siguiente
primero lo que tenemos que hacer es
buscar el mínimo elemento de la lista
luego intercambiar ese mínimo elemento
con el primer elemento es decir la
posición 0 luego una vez que está
ordenada esa posición buscar el mínimo
elemento del resto de la lista es decir
desde la posición 1 en adelante
intercambiarlo con el segundo y así
sucesivamente buscar el elemento mínimo
ponerlo en la siguiente posición y así
hasta terminar todo mi arreglo es es
decir n veces muy bien vamos a ver acá
un pequeño ejemplo como veis tenemos un
arreglo de números totalmente
desordenados son cinco elementos y aquí
tienen sus índices bien comenzando desde
cero hasta n menos uno en este caso es
cuatro bien la flechita lo que nos
indica es exactamente la posición del
arreglo en la que va
bien entonces tenemos que ver siguiendo
el algoritmo que acabamos de ver hace un
momento lo primero que tenemos que hacer
es buscar el elemento mínimo en este
caso es el número uno bueno pues ese
elemento mínimo lo pasamos a la primera
posición del arreglo una vez que está
eso avanzamos una posición más en el
arreglo muy bien y una vez que estamos
aquí nuevamente buscamos cuál es el
elemento mínimo pero solamente de los
números que nos quedan bueno pues en
este caso es el número dos así que lo
vamos a intercambiar a la posición de la
regla en la que vamos muy bien
avanzamos una posición más en nuestro
arreglo ahora cuál es el número mínimo
del que nos queda pues el 3 lo
intercambiamos hacia la posición en la
que vamos y continuamos ahora cuál es el
número menor pues el 4 bien pues lo
vamos a intercambiar en la posición en
la que vamos y avanzamos uno más y como
te das cuenta solamente quedaba un solo
elemento por lo tanto estaba ordenado
esto nos indica que nuestro arreglo de
cinco números ha sido ordenado gracias
al ordenamiento por selección perfecto
así de sencillo se ha hecho resolver
este ejemplo y ahora vamos a modificarlo
en temas más muy bien una vez aquí en
temas más lo primero por supuesto y tú
ya sabes expone
las librerías verdad en este caso yo
utilizo dos el stream y el connio punto
h
el stream lo utilizo para hacer las
funciones de entrada y salida y el
connio punto 8 para utilizar su función
gates y impedir que el ejecutable se
cierre bien ahora vamos a poner el using
names space names space http y vamos a
comenzar con la función email bien voy a
poner la cage para impedir que el
ejecutable se cierre y el reto 10 muy
bien lo primero que necesitamos es un
arreglo desordenado bien yo lo voy a
poner a mi arreglo de nombre números y
voy a declarar los cinco números
totalmente desordenados aquí mismo voy a
poner el 3 el 2 el 1 el 4
no voy a poner acá el 5 y el 4 para que
esté un poco mas revoloteado bien como
ves este es un arreglo de 5 números
están totalmente desordenados y ahora
gracias al ordenamiento por selección
pues debemos ordenarlos me encuentro al
variable necesitamos bueno necesitamos
dos integradores voy a ponerles y jota y
además necesitamos un auxiliar y una
variable para almacenar el número mínimo
muy bien min
esas son las variables que necesitamos
bien vamos a comenzar entonces con el
primer bucle y este bucle lo que va a
hacer es primero recorrer todo me
arreglo bien desde que hice igual a cero
hasta que i
sea menor a 5 que es el número de
elementos y más más perfecto recuerdas
cuando vimos el ejemplo anterior
necesitamos encontrar el número mínimo
verdad bueno pues entonces vamos a
ponerle que el mínimo sea igual a y en
este caso como aún no hemos revisado
todo el arreglo vamos a suponer que la
primera posición es el número vídeo cosa
que en este caso no se cumple pero vamos
a suponer por el momento que es el
número mínimo bien ahora sí vamos a
recorrer más el arreglo a fondo y vamos
a hacerlo con el segundo bucle vamos a
decir desde que jota se iguala y más uno
y porque desde y más uno bueno pues como
ya nos estamos diciendo que la primera
posición es el menor entonces que me
recorra desde aquí muy bien y que esto
siga avanzando hasta que jota sea menor
a cinco jota más más perfecto hasta ahí
genial ahora si necesitamos un
condicional en el cual tenemos que
darnos cuenta sin números jota es menor
a números ming
y qué es lo que quiero decir con esto
bueno números jota es exactamente el
número en el que vamos bien va a estar 3
2 154 te va a recorrer todo el arreglo
ahora números main recuerda que en mi
era supuestamente el número menor que le
habíamos puesto arriba burgos aquí se va
a dar cuenta si realmente 3 es el menor
de todos y esto más o menos va a
funcionar de la siguiente manera números
jota empieza desde 1 es decir empieza
desde aquí y va a comprobar 2 es menor a
tres números min que en este caso es 3
pues por supuesto es menor que es lo que
tengo que hacer ahora bueno pues situar
a 2 como la posición menor entonces le
voy a poner min
igual a jota y luego va a seguir
continuando va a seguir 1 es menor a 2
en este caso porque ya lo cambie pues
por supuesto entonces ahora me invade a
1 y luego va a seguir 5 es menor a 1 no
no se va a cumplir es decir aquí
quedaría resuelto cuál es el menor
elemento o el menor número de mi arreglo
muy bien una vez que tenemos eso
solamente me haría falta si en el
intercambio correspondiente y para eso
está en la variable auxiliar
muy bien vamos a poner aquí que auxiliar
sea igual a números y y después pues
números números y sea igual a números
min
y por último números ming sea igual a
auxiliar muy bien esto es todo el
algoritmo del ordenamiento por selección
voy a ponerlo aquí algoritmo del
ordenamiento ordenamiento por selección
muy bien esto es todo el algoritmo pero
por supuesto tú ya sabes que hasta el
momento no estamos imprimiendo
absolutamente nada así que vamos a tener
que imprimirlo así que vamos a poner un
pequeño fraude aquí y primero vamos
imprimiendo en orden ascendente bien
ascendente perfecto para poder hacerlo
necesitamos un bucle y vamos a decir
desde que dice igual 0 hasta que sea
menor a 5 ya que es el número de
elementos y más más bien vamos a
imprimir acá números y y vamos a darle
un pequeño espacio para que se vea más
elegante y más chévere muy bien vamos a
compilar
no voy a guardar aquí en el escritorio y
esto es el ordenamiento por selección
ordenamiento por selección y bien como
ves nos acaba de compilar y tenemos
nuestro arreglo que al principio estaba
totalmente desordenado ahora está
ordenado en orden ascendente perfecto
ahora faltaría el orden descendente bien
no hay ningún problema lo hacemos súper
rápido vamos a poner aquí orden
descendente descendente bien y ahora
pues nuevamente necesitamos un bucle
desde que hice ahí con la cuatro
recuerda porque ahora va a ir en el
orden inverso hasta que sea mayor o
igual a cero y menos menos me faltó la y
listo
ahí está área ahora vamos a poder acá el
c out y voy a ponerle pues números y y
también voy a darle un pequeño espacio
muy bien vamos a compilar nuevamente y
listo acaba de compilar y como ves ya
está nuestro arreglo ordenado tanto en
orden ascendente como en orden
descendente y todo esto gracias al
ordenamiento por selección
perfecto entonces esto ha terminado bien
espero te ha gustado este vídeo recuerda
que este es el algoritmo más
y el algoritmo está disponible en la
descripción del vídeo hay un link para
que tú puedas descargar totalmente
codificado ence bien y espero que te
haya gustado este vídeo además recuerda
que si puedes imaginarlo puedes
programar lo y nos vemos en el próximo
vídeo del curso de ese más más hasta
luego
Посмотреть больше похожих видео
Programación en C++ #12 | Búsqueda Secuencial o Lineal
JAVA - Ordenamiento de la burbuja (bubble sort) + numero al azar (random)
53. Programación en C++ || Búsquedas || Búsqueda Secuencial en un arreglo
MYSQL – Clausula ORDER BY – Video 7
Ordenamiento Quicksort (Rápido!) en Java
Como crear tu propio DETECTOR DE OBJETOS en TIEMPO REAL con Python OpenCV | Template Matching
5.0 / 5 (0 votes)