Cómo explicar el algoritmo de clasificación de inserción a un niño de 10 años

**Tipo de inserción** –

También podemos decirlo como * algoritmo del profesor *.

Supongamos que está en su escuela, esperando la asamblea de oración en la mañana. El maestro viene y les pide a todos que se paren en la fila. Te pondrás en la fila con tu amigo, ¿verdad? Entonces, como se esperaba, todos se ponen en la fila con sus respectivos amigos. Ahora, se convierte en una tarea tediosa para el profesor, ¿por qué? Ella tiene que arreglarte en orden creciente de altura para que los pequeños no se escondan detrás. ¿Qué hará ella? Ella comienza a comparar. Ella se lleva a dos personas, digamos que primero selecciona a las delanteras.

Digamos que solo hay cuatro niños. Rohit, Mohit, Ram, Shyam y la altura están en orden para que Rohit sea el más bajo, Mohit es el segundo más bajo, Ram es el segundo último más alto, Shyam es el más alto.

Pero están en el orden Shyam (primer niño), Ram (segundo niño), Mohit (tercer niño), Rohit (cuarto niño)

Iteración 1-

SubIteración1- Ella compara a los dos primeros niños (Shyam, Ram), se intercambian de acuerdo con su altura. El niño más alto es enviado a la posición dos, el niño más bajo a la una. Ahora, los primeros dos niños están ordenados (pero solo entre ellos). Entonces el resultado es – Ram-> Shyam.

Ahora Ram es el primer niño, Shyam es el segundo niño. Mohit tercero. Rohit cuarto.

Iteración 2-

SubIteración1- Ahora, ella selecciona al tercer niño (Mohit). Ella compara al tercer niño con el segundo. Supongamos que es más bajo que el segundo niño.

SubIteración2- Entonces, ella lo compara con el primer hijo ahora. Supongamos que también es más bajo que el primer niño. Ella esta es la posición que tiene que soportar. Lo colocan en la primera posición, sin interferir en las posiciones de los otros dos niños.

Ahora, los primeros tres niños se clasifican entre ellos. Entonces el resultado es – Mohit-> Ram-> Shyam. Ahora, Mohit es primero, Ram segundo, Shyam tercero, Rohit cuarto.

Iteración 3-

SubIteración1- Luego viene el cuarto niño (Rohit). El cuarto niño se compara con el tercer niño; es más bajo que el tercero.

SubIteración2- Entonces ella se compara de nuevo con el segundo niño. Él es más bajo que el segundo también. Luego se compara con el primer niño. De nuevo, él es más bajo que él también.

SubIteración3- Entonces, el cuarto niño se coloca en la primera posición ahora sin interferir con los otros tres niños.

Entonces el resultado es – Rohit-> Mohit-> Ram-> Shyam

Este fue el peor caso de inserción, donde todos

los niños que se supone que deben pararse en orden creciente de altura están parados en orden decreciente. ¿Cuántas iteraciones usamos? Tres. ¿Cuántas subiteraciones usamos?

En iteración1, uno.

En la iteración2, dos.

En la iteración 3, tres.

¿Notas algún patrón? Número de iteraciones = número de niños-1

Número de subiteraciones = Número de iteraciones

Número total de iteraciones generales =

1 + 2 + 3 = 6

podemos generalizar, n es el número de elementos, entonces, iteraciones generales = 1 + 2 + 2 +…. + (n-1) que no es más que la suma de números naturales, (n ^ (n-1)) / 2, o O (N ^ 2)

De hecho, ¡puede ser que su hijo ya conozca y use este algoritmo! El tipo de inserción es precisamente lo que hacen muchos humanos mientras juegan juegos de cartas:

Tome la primera carta de la parte no ordenada y muévala (“insértela”) al lugar donde debería estar; repita hasta que todas las tarjetas estén ordenadas. ¡Esta es la misma idea que subyace en el algoritmo de clasificación real de Insersion!

More Interesting

¿La programación a nivel del sistema se ha vuelto obsoleta?

¿Qué algoritmo usa Facebook para mostrar la lista de amigos en la página de perfil?

¿Qué estructura de datos usa internamente un objeto en los lenguajes OOP? ¿Qué algoritmo se usa para la búsqueda de propiedades en un objeto?

¿Cuáles son algunos algoritmos / métodos de aprendizaje automático altamente efectivos?

¿Cuál es la diferencia entre la altura y la profundidad de un árbol?

¿Cuáles son algunos de los recursos disponibles para los estudiantes de informática en predicción de la estructura secundaria de ARN?

¿Cuál es la mejor manera de analizar un currículum en los campos de la base de datos? ¿Qué hacer si tiene muchos currículums y necesita que los datos se extraigan en elementos individuales que se pueden colocar en una base de datos?

Cómo calcular la complejidad del algoritmo de ordenamiento por selección

¿Alguien puede proporcionarme un algoritmo de muestra en CS para ISC 2017?

¿Cuál es la explicación intuitiva para agregar flujo en bordes inversos en el algoritmo de flujo máximo? ¿Por qué necesitamos eso?

¿Existe algún vínculo en los algoritmos o técnicas de estructura de datos más utilizados en la programación competitiva?

¿Google no tiene mejores algoritmos, sino solo más datos? Peter Norvig es citado diciendo eso.

Cómo mejorar si he pasado 10 años aprendiendo programación pero aún no puedo resolver la mayoría de los problemas de algoritmos

¿Qué estructura de datos debo usar si estoy diseñando un algoritmo que clasifica las páginas por relevancia de acuerdo con la cantidad de veces que se ven?

¿Cuál fue tu algoritmo favorito del que aprendiste mucho?