52. Programación en C++ || Ordenamientos || Ordenamiento por Selección

Programación ATS
23 May 201608:02

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

00:00

😀 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.

05:01

😀 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

El 'Ordenamiento por selección' es un método de ordenamiento de datos que implica la selección de los elementos en función de un orden específico. En el video, se describe cómo este algoritmo requiere un número de operaciones al cuadrado de n para ordenar una lista de n números, destacando su proceso de encontrar el mínimo elemento y su intercambio con el primer elemento de la lista, repetido hasta que toda la lista esté ordenada.

💡Algoritmo de ordenamiento

Un 'Algoritmo de ordenamiento' es una secuencia de pasos para organizar elementos en un orden específico, ya sea ascendente o descendente. En el contexto del video, el ordenamiento por selección es un tipo de algoritmo que se utiliza para ordenar una lista de números, y se ejemplifica con un arreglo de 5 números desordenados que se ordenan mediante este método.

💡Operaciones

Las 'Operaciones' en el video se refieren a las acciones realizadas por el algoritmo de ordenamiento por selección, como buscar el mínimo elemento y realizar intercambios. El script menciona que este algoritmo requiere un número de operaciones al cuadrado de n, lo que indica la complejidad del mismo en términos de tiempo.

💡Elemento mínimo

El 'Elemento mínimo' es el valor más bajo dentro de un conjunto de datos. En el proceso de ordenamiento por selección descrito en el video, se busca constantemente el elemento mínimo para colocarlo en la posición correcta de la lista, asegurando así que la lista se ordene de manera ascendente.

💡Intercambio de elementos

El 'Intercambio de elementos' es una técnica utilizada en el algoritmo de ordenamiento por selección para reorganizar los datos. El script detalla cómo, una vez identificado el elemento mínimo, se intercambia con el primer elemento no ordenado de la lista, lo que se repite hasta que toda la lista esté ordenada.

💡Ejemplo

Un 'Ejemplo' en el video es una ilustración del proceso de ordenamiento por selección con un arreglo de 5 números desordenados. Seguidamente, se muestra cómo, siguiendo el algoritmo, se identifica y coloca el elemento mínimo en la posición correcta, hasta que todos los elementos están en orden.

💡Código

El 'Código' mencionado en el script se refiere a la implementación del algoritmo de ordenamiento por selección en un lenguaje de programación. El video incluye pasos para escribir el código, utilizando bibliotecas como 'stream' y 'conio.h', y se describe cómo se estructura el código para realizar el ordenamiento tanto en orden ascendente como descendente.

💡Variables

Las 'Variables' son elementos en un programa que almacenan datos para su manipulación. En el script, se mencionan variables como 'i', 'jota', 'min', y 'auxiliar', las cuales son utilizadas para llevar a cabo el proceso de ordenamiento por selección, almacenando temporalmente los valores y posiciones de los elementos durante el proceso.

💡Bucles

Los 'Bucles' son estructuras de control de flujo que permiten la repetición de un bloque de código hasta que se cumple una condición. En el algoritmo de ordenamiento por selección, los bucles se utilizan para recorrer la lista de números y buscar el elemento mínimo, como se describe en el script.

💡Condicionales

Los 'Condicionales' son estructuras de control de flujo que toman decisiones basadas en ciertas condiciones. En el video, se usan condicionales para comparar los elementos del arreglo y determinar cuál es el mínimo, y así llevar a cabo el intercambio de elementos necesario para el ordenamiento.

💡Imprimir

El término 'Imprimir' se refiere a la acción de mostrar los resultados en la pantalla. En el script, después de implementar el algoritmo de ordenamiento, se incluye código para imprimir el arreglo ordenado tanto en orden ascendente como descendente, lo cual permite visualizar el resultado final del proceso de ordenamiento.

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

play00:00

play00:07

hola y bienvenidos a este nuevo vídeo

play00:08

del curso de temas más bien en este

play00:11

vídeo vamos a continuar con un nuevo

play00:12

ordenamiento y se trata de esta vez el

play00:15

ordenamiento por selección muy bien

play00:17

entonces qué es el ordenamiento por

play00:19

selección vamos a decir que es un

play00:22

algoritmo de ordenamiento que requiere

play00:23

un orden de n al cuadrado operaciones

play00:25

para ordenar una lista de n números bien

play00:28

su funcionamiento es el siguiente

play00:30

primero lo que tenemos que hacer es

play00:32

buscar el mínimo elemento de la lista

play00:34

luego intercambiar ese mínimo elemento

play00:37

con el primer elemento es decir la

play00:39

posición 0 luego una vez que está

play00:41

ordenada esa posición buscar el mínimo

play00:43

elemento del resto de la lista es decir

play00:45

desde la posición 1 en adelante

play00:47

intercambiarlo con el segundo y así

play00:49

sucesivamente buscar el elemento mínimo

play00:51

ponerlo en la siguiente posición y así

play00:53

hasta terminar todo mi arreglo es es

play00:55

decir n veces muy bien vamos a ver acá

play00:58

un pequeño ejemplo como veis tenemos un

play01:00

arreglo de números totalmente

play01:01

desordenados son cinco elementos y aquí

play01:04

tienen sus índices bien comenzando desde

play01:06

cero hasta n menos uno en este caso es

play01:08

cuatro bien la flechita lo que nos

play01:10

indica es exactamente la posición del

play01:12

arreglo en la que va

play01:13

bien entonces tenemos que ver siguiendo

play01:15

el algoritmo que acabamos de ver hace un

play01:17

momento lo primero que tenemos que hacer

play01:18

es buscar el elemento mínimo en este

play01:21

caso es el número uno bueno pues ese

play01:23

elemento mínimo lo pasamos a la primera

play01:24

posición del arreglo una vez que está

play01:26

eso avanzamos una posición más en el

play01:28

arreglo muy bien y una vez que estamos

play01:31

aquí nuevamente buscamos cuál es el

play01:33

elemento mínimo pero solamente de los

play01:35

números que nos quedan bueno pues en

play01:36

este caso es el número dos así que lo

play01:38

vamos a intercambiar a la posición de la

play01:40

regla en la que vamos muy bien

play01:42

avanzamos una posición más en nuestro

play01:43

arreglo ahora cuál es el número mínimo

play01:46

del que nos queda pues el 3 lo

play01:48

intercambiamos hacia la posición en la

play01:49

que vamos y continuamos ahora cuál es el

play01:52

número menor pues el 4 bien pues lo

play01:54

vamos a intercambiar en la posición en

play01:56

la que vamos y avanzamos uno más y como

play01:59

te das cuenta solamente quedaba un solo

play02:01

elemento por lo tanto estaba ordenado

play02:03

esto nos indica que nuestro arreglo de

play02:06

cinco números ha sido ordenado gracias

play02:08

al ordenamiento por selección perfecto

play02:11

así de sencillo se ha hecho resolver

play02:12

este ejemplo y ahora vamos a modificarlo

play02:14

en temas más muy bien una vez aquí en

play02:16

temas más lo primero por supuesto y tú

play02:19

ya sabes expone

play02:20

las librerías verdad en este caso yo

play02:22

utilizo dos el stream y el connio punto

play02:25

h

play02:26

el stream lo utilizo para hacer las

play02:28

funciones de entrada y salida y el

play02:29

connio punto 8 para utilizar su función

play02:31

gates y impedir que el ejecutable se

play02:33

cierre bien ahora vamos a poner el using

play02:35

names space names space http y vamos a

play02:39

comenzar con la función email bien voy a

play02:43

poner la cage para impedir que el

play02:45

ejecutable se cierre y el reto 10 muy

play02:48

bien lo primero que necesitamos es un

play02:50

arreglo desordenado bien yo lo voy a

play02:52

poner a mi arreglo de nombre números y

play02:54

voy a declarar los cinco números

play02:56

totalmente desordenados aquí mismo voy a

play02:58

poner el 3 el 2 el 1 el 4

play03:01

no voy a poner acá el 5 y el 4 para que

play03:03

esté un poco mas revoloteado bien como

play03:05

ves este es un arreglo de 5 números

play03:07

están totalmente desordenados y ahora

play03:09

gracias al ordenamiento por selección

play03:10

pues debemos ordenarlos me encuentro al

play03:13

variable necesitamos bueno necesitamos

play03:14

dos integradores voy a ponerles y jota y

play03:18

además necesitamos un auxiliar y una

play03:20

variable para almacenar el número mínimo

play03:22

muy bien min

play03:23

esas son las variables que necesitamos

play03:26

bien vamos a comenzar entonces con el

play03:28

primer bucle y este bucle lo que va a

play03:30

hacer es primero recorrer todo me

play03:32

arreglo bien desde que hice igual a cero

play03:34

hasta que i

play03:36

sea menor a 5 que es el número de

play03:38

elementos y más más perfecto recuerdas

play03:41

cuando vimos el ejemplo anterior

play03:43

necesitamos encontrar el número mínimo

play03:44

verdad bueno pues entonces vamos a

play03:46

ponerle que el mínimo sea igual a y en

play03:48

este caso como aún no hemos revisado

play03:50

todo el arreglo vamos a suponer que la

play03:52

primera posición es el número vídeo cosa

play03:54

que en este caso no se cumple pero vamos

play03:57

a suponer por el momento que es el

play03:58

número mínimo bien ahora sí vamos a

play04:00

recorrer más el arreglo a fondo y vamos

play04:03

a hacerlo con el segundo bucle vamos a

play04:04

decir desde que jota se iguala y más uno

play04:06

y porque desde y más uno bueno pues como

play04:08

ya nos estamos diciendo que la primera

play04:10

posición es el menor entonces que me

play04:12

recorra desde aquí muy bien y que esto

play04:15

siga avanzando hasta que jota sea menor

play04:16

a cinco jota más más perfecto hasta ahí

play04:20

genial ahora si necesitamos un

play04:22

condicional en el cual tenemos que

play04:24

darnos cuenta sin números jota es menor

play04:28

a números ming

play04:31

y qué es lo que quiero decir con esto

play04:34

bueno números jota es exactamente el

play04:36

número en el que vamos bien va a estar 3

play04:38

2 154 te va a recorrer todo el arreglo

play04:41

ahora números main recuerda que en mi

play04:43

era supuestamente el número menor que le

play04:46

habíamos puesto arriba burgos aquí se va

play04:48

a dar cuenta si realmente 3 es el menor

play04:50

de todos y esto más o menos va a

play04:52

funcionar de la siguiente manera números

play04:54

jota empieza desde 1 es decir empieza

play04:57

desde aquí y va a comprobar 2 es menor a

play05:01

tres números min que en este caso es 3

play05:03

pues por supuesto es menor que es lo que

play05:05

tengo que hacer ahora bueno pues situar

play05:07

a 2 como la posición menor entonces le

play05:09

voy a poner min

play05:10

igual a jota y luego va a seguir

play05:12

continuando va a seguir 1 es menor a 2

play05:16

en este caso porque ya lo cambie pues

play05:18

por supuesto entonces ahora me invade a

play05:19

1 y luego va a seguir 5 es menor a 1 no

play05:22

no se va a cumplir es decir aquí

play05:24

quedaría resuelto cuál es el menor

play05:26

elemento o el menor número de mi arreglo

play05:28

muy bien una vez que tenemos eso

play05:30

solamente me haría falta si en el

play05:32

intercambio correspondiente y para eso

play05:34

está en la variable auxiliar

play05:36

muy bien vamos a poner aquí que auxiliar

play05:38

sea igual a números y y después pues

play05:42

números números y sea igual a números

play05:47

min

play05:49

y por último números ming sea igual a

play05:53

auxiliar muy bien esto es todo el

play05:55

algoritmo del ordenamiento por selección

play05:57

voy a ponerlo aquí algoritmo del

play06:00

ordenamiento ordenamiento por selección

play06:05

muy bien esto es todo el algoritmo pero

play06:08

por supuesto tú ya sabes que hasta el

play06:09

momento no estamos imprimiendo

play06:10

absolutamente nada así que vamos a tener

play06:12

que imprimirlo así que vamos a poner un

play06:14

pequeño fraude aquí y primero vamos

play06:16

imprimiendo en orden ascendente bien

play06:19

ascendente perfecto para poder hacerlo

play06:22

necesitamos un bucle y vamos a decir

play06:24

desde que dice igual 0 hasta que sea

play06:26

menor a 5 ya que es el número de

play06:27

elementos y más más bien vamos a

play06:30

imprimir acá números y y vamos a darle

play06:33

un pequeño espacio para que se vea más

play06:35

elegante y más chévere muy bien vamos a

play06:38

compilar

play06:39

no voy a guardar aquí en el escritorio y

play06:41

esto es el ordenamiento por selección

play06:44

ordenamiento por selección y bien como

play06:48

ves nos acaba de compilar y tenemos

play06:51

nuestro arreglo que al principio estaba

play06:52

totalmente desordenado ahora está

play06:54

ordenado en orden ascendente perfecto

play06:57

ahora faltaría el orden descendente bien

play06:59

no hay ningún problema lo hacemos súper

play07:00

rápido vamos a poner aquí orden

play07:02

descendente descendente bien y ahora

play07:06

pues nuevamente necesitamos un bucle

play07:08

desde que hice ahí con la cuatro

play07:09

recuerda porque ahora va a ir en el

play07:11

orden inverso hasta que sea mayor o

play07:13

igual a cero y menos menos me faltó la y

play07:16

listo

play07:17

ahí está área ahora vamos a poder acá el

play07:19

c out y voy a ponerle pues números y y

play07:23

también voy a darle un pequeño espacio

play07:24

muy bien vamos a compilar nuevamente y

play07:28

listo acaba de compilar y como ves ya

play07:30

está nuestro arreglo ordenado tanto en

play07:32

orden ascendente como en orden

play07:34

descendente y todo esto gracias al

play07:37

ordenamiento por selección

play07:39

perfecto entonces esto ha terminado bien

play07:42

espero te ha gustado este vídeo recuerda

play07:44

que este es el algoritmo más

play07:46

y el algoritmo está disponible en la

play07:48

descripción del vídeo hay un link para

play07:50

que tú puedas descargar totalmente

play07:51

codificado ence bien y espero que te

play07:54

haya gustado este vídeo además recuerda

play07:55

que si puedes imaginarlo puedes

play07:57

programar lo y nos vemos en el próximo

play07:58

vídeo del curso de ese más más hasta

play08:01

luego

Rate This

5.0 / 5 (0 votes)

الوسوم ذات الصلة
algoritmoordenamientoselecciónC++programacióncódigotutorialeducaciónvideoejemplo
هل تحتاج إلى تلخيص باللغة الإنجليزية؟