Eso es algo que siempre he querido hacer también.
Incluso lo he hecho con bastante frecuencia. Puedo recordar este ejemplo:
Mi maestro de Algoritmos y Estructuras de Datos había tomado una prueba para la clase, entregando una hoja de prueba a cada estudiante.
Al final de la prueba, se nos pidió que le devolviéramos las hojas.
Luego nos pidió a un amigo mío y a mí que clasifiquemos las hojas de acuerdo con los números de rollo.
Dividí el juego de sábanas en dos mitades y le dije que clasificara su mitad de acuerdo con los números de los rollos mientras yo clasifico mi mitad.
Ella preguntó: “Pero a ambos nos faltarían números en el medio”.
Respondí: “Al final, armaremos nuestros conjuntos una hoja tras otra”.
¿Te das cuenta de lo que había hecho aquí sin saberlo?
También me di cuenta de lo que había hecho en este momento y grité: “¡Oye! ¡Eso es Merge Sort!
Mi maestra que estaba parada, me miró, evaluó la situación y dijo: “¡Oh, sí, lo es! Bien hecho Mehul, has aplicado un algoritmo que te enseñé, ¡en la vida real!
Así que este fue solo un pequeño ejemplo tonto, pero sin embargo muestra cómo probablemente, sin saberlo, ya aplicamos tantos más de estos ricos algoritmos dorados que Computer Science nos ofrece, en nuestras vidas reales.
El método Brute Force en sí nace de los algoritmos que aplicamos en nuestras vidas reales.
La forma en que podemos aplicar estos algoritmos que aprendemos en la vida real es darnos cuenta de que, en primer lugar, creamos estos algoritmos para problemas del mundo real.
Cualquier algoritmo que aprenda se le enseñará en términos de que ciertos objetos son el foco principal, por ejemplo, una lista de números que se están ordenando, una clave que se está buscando, varias opciones que se ramifican en varias posibilidades, etc.
Necesitamos reemplazar estos objetos con los objetos del mundo real frente a nosotros y ver cómo puede aplicar estos algoritmos aquí, como lo hice al reemplazar la lista de números que se ordenan con el conjunto de hojas que se ordenarán.
Las estructuras de datos son más como ayudantes, en mi opinión.
Mientras ordenaba la mitad de las hojas, solía colocar una hoja en la mano de mi maestro.
Si mi próxima hoja tuviera un número mayor, tomaría las hojas de su mano una por una y colocaría las más pequeñas encima de la mía, de lo contrario simplemente se las seguiría entregando.
Una vez más, sin saberlo, estaba preparando una pila.
Tomemos un ejemplo común,
Digamos que tenemos la situación de comprar entradas para el cine. Sabemos que las personas que vinieron primero deben recibir sus boletos primero y, por lo tanto, la aplicación de una cola.
Las estructuras de datos tienen principios a seguir, y si aplicamos esos principios a situaciones de la vida real, estamos utilizando estas estructuras de datos en la vida real.