Sisällysluettelo:

Kit Ciencia Y Arte: Ordenando Listas (Bubble Sort): 4 vaihetta
Kit Ciencia Y Arte: Ordenando Listas (Bubble Sort): 4 vaihetta

Video: Kit Ciencia Y Arte: Ordenando Listas (Bubble Sort): 4 vaihetta

Video: Kit Ciencia Y Arte: Ordenando Listas (Bubble Sort): 4 vaihetta
Video: Программирование – информатика для руководителей бизнеса 2016 2024, Marraskuu
Anonim
Kit Ciencia Y Arte: Ordenando Listas (kuplalajittelu)
Kit Ciencia Y Arte: Ordenando Listas (kuplalajittelu)

En el mundo de las ciencias de la computación, saber ordenar listas es como saber escribir. Es una buena manera de ver como los algoritmos son una manera de hacer las cosas en una computadora, y que la forma directa de hacer algo no es la mejor en una computadora. Acá explico uno de los algoritmos más cnocidos de comutación que es el "Bubble Sort", y explicaré con detalle en que consiste

Este Instructable, harkitseva que es AVANZADO, mutta ei hay nada como los retos difíciles, así que si no eres experto o experta no importa, haz el intento igual…

Vaihe 1: ¿Ordenar Listas?

Ordenar Listas?
Ordenar Listas?

Hoy en día usamos la computadora en todas las cosas. Los teléfonos hoy en día son prácticamente super computadoras. Mientras las computadoras toman data, se buildyen listas de datos. Ei luetteloa tiedoista ja yhdistetyistä tiedoista:

{Tomás, Abraham Carolina, Matias, Maria, Marcela}

Es una lista de nombres. Ahora bien, en muut tilaisuudet, necesitamos ordenarlos, es decir acomodar la list en un orden specific, por ejemplo de pomo a menor o viceversa, o en orden alfabético.

¿Porqué ordenarlos? Veamos el ejemplo de la list de nombres de la imagen. Onko luettelo larga, si les pido busquen el nombre IRENE, en ¿cual list es es fácil? en la ¿ordenada verdad? bueno por eso mismo ordenar listas de datos es algo extremadamente importante en una computadora, pera luego poder usar los datos de forma effectiva.

Cómo los ordeno? pasemos al siguiente paso

Vaihe 2: Algoritmo "Bubble Sort" Ordenamiento De Burbuja

Image
Image

Onko sinulla luettelo númeroista, vai ei, tai Cómo las puedo ordenar? Existen muchas maneras de hacerlo, acá les voy a explicar la que se lalama "Bubble Sort", no es de las más rápidas, de hecho puede que sea de las peores, pero si es un buen ejemplo de como una idea se escribe como un algoritmi, luego se escript como un program de computadora. Además, creo que ve super bonito en el circuit leikkipaikka.

La Idea

La idea del Bubble Sort, es la de burbujas flotando, si ha dos burbujas y una es más grande que la otra, la más liviana pasa a la más pesada, y así se van acomodando… es muy similar a tener una caja de piedras de eri tamaños, si las sacudo por suficiente tiempo, las más pesadas se van al fondo y las livianas se quedan arriba.

El Algoritmo

Los pasos del algoritmos son:

  1. Tenemos una list of 1 and n elementos
  2. Comenzar por el 1
  3. Preguntar si el número en la posición todellinen es pormestari que el de la posición siguiente
  4. Tämä on pormestari Cambiarlos, Sino, Dejarlos Igual
  5. Mover una posición
  6. Si es el n, houkuttelee marcar n-1 cómo el último y volver a 2
  7. Sino, Volver a 3
  8. Si el marcado como último es igual al primero, entonces terminaali

En Acción

Como ven a veces escribir un algoritmo es algo confuso, por eso vean el video explico cual es el conceptto y funcionamiento detrás del algoritmo con un ejemplo sencillo.

Vaihe 3: El Algoritmo En El Circuit Playground

El Código básico

Veamos primero una versión del algoritmo, syn agregarla nada de luces o sonido:

tavunumerot [9]; // Arreglo que contiene los numeros

int i, j; // Iteradores

// Algoritmon kupla Lajittele

void loop () {for (i = 0; i <= 9; i ++) {for (j = 0; j <= 9 - i; j ++) {if (luvut [j] <= numerot [j+1]) {// cambia posición de números float f = luvut [j]; numerot [j] = numerot [j + 1]; numerot [j + 1] = f; }}}}

Como ven primero creamos un arreglo de byte, en este caso lo llamamos number [9]. Es un arreglo de 10 números (de 0 a 9), de numero tipo byte. Tambi'en creamos dos iteradores i y j. Estos son los que vana recorrer el arreglo.

En el loop -päällikkö, vean las línea:

for (i = 0; i <= 9; i ++) {for (j = 0; j <= 9 - i; j ++) {}}

Que i recorre todo el arreglo de 0 a 9. Dentro de esta j, noten como va de 0 a 9-i. Es decir, primero va de 0 a 9, luego de 0 a 9-1, luego de 0 a 9-2. Esto porque como se ve en el video, por cada iteración sabemos que el ultimo number ya es el pormestari.

Dentro de esos iteradores, se hace la pregunta:

jos (numerot [j] <= numerot [j + 1])

Es decir si el siguiente es menor or igual entonces debemos cambiarlo. Para cambiarlo hay que hacer un "swap" es decir tomar el valor del arreglo, guardarlo en una muuttuva ajallinen, asignárle el nuevo valor, y luego en temporal al la siguiente posición del arreglo. Vánlo en estas trés líneas de código:

float f = numerot [j]; // ajallinen

numerot [j] = numerot [j + 1]; numerot [j + 1] = f;

Lataa el Circuit Playground

El Código Complete in Github, incoye todo lo necesario para generar un nuevo arreglo aleatorio con números de 0 a 255, y para usar number number como cantidad de rojo, for prender los LEDs. Ustedes lo pueden modificar para que haga más cosas como sonidos, etc.

Vaihe 4: Funcionando Y Reto

En el video además le agregué sonido, eso se los dejo de reto a ustedes.

Retot

  1. Sopiva sonido
  2. Ohjelmointiohjelmiston algoritmit (nopea lajittelu, yhdistäminen)
  3. Medir que tan rápido resuelve e arduino, colocando cada vez más elementos en el arreglo y medir cuanto tarda, ¿Es lineal?

Suositeltava: