Cómo entender algoritmos en lenguajes de programación

Creo que el problema aquí es que realmente no puedes “entender” completamente los algoritmos a menos que entiendas cómo implementarlos . Puede tener una idea básica sobre la forma de completar algo, pero a menos que también sepa cómo completarlo, realmente no lo sabe.

Una analogía decente es considerar crecer solo conociendo un idioma que no tenga la palabra “Gato” (o cualquier otra palabra común). Podrías ver un gato y pensar “Oh, oye, ese es un animal peludo con cola, y tiene nueve vidas, entre otras cosas”, pero en la práctica, cuando realmente quieres hacer algo con ese “Gato , “no puedes usarlo.

En esta analogía, digamos que quería comprar un gato, por teléfono, en una tienda de mascotas. Es posible que pueda pedir un “animal peludo con cola”, pero no tiene un verdadero significado hasta que encapsule ese ser en la palabra “Gato”. Luego, podría ir y preguntarle a alguien por teléfono si tiene “Gatos” en existencia.

Conclusión:

Es posible que pueda comprender el funcionamiento interno y el fondo de algunos algoritmos, pero a menos que realmente pueda codificarlos y codificarlos, realmente no obtendrá la imagen completa. Los algoritmos son una forma de pensar, pero generalmente no son efectivos a menos que estén programados. Básicamente, debe tomar un curso introductorio en programación de computadoras para aprender la habilidad por primera vez, luego usar esas habilidades para comprender realmente los algoritmos.

Algunos cursos de introducción:
-CS50 2014 es un curso realmente genial impartido por Harvard en C
-Introducción a la informática y la programación es, por supuesto, una gran idea del MIT en Python
-probablemente docenas más si buscas en internet.

Te sugiero que veas el problema del mundo real y veas la informática en general. La mayoría de los algoritmos solo intentan resolver problemas del mundo real utilizando cálculos y rutas creadas por el programador.

Para comprender mejor algo, debe aprender algunos conceptos arquitectónicos de la computadora, como la optimización de la memoria, cómo el procesador cambia los bits, etc. Esto requiere mucha lectura que puede llevar toda una vida. No voy a fingir que soy un genio o algo así, pero comencé con pequeñas estructuras de datos y conceptos como Pila, Búsqueda lineal, Cola, Cola circular y Lista vinculada. Aquí hay algunos que implementé usando Python: algoritmos onimisionipe / py

Deberían darte una ventaja.

Primero debes entender el idioma. Cómo hacer esto y cómo hacerlo. Lo que esto y aquello significa o hace.

Cuando se trata de algoritmos, si puedes explicárselo a un niño de 5 años, entonces puedes “enseñarlo” a una computadora, y ahí es donde entra el conocimiento del lenguaje de programación.

Por ejemplo,

print "Hello World!" 10 times

Necesita saber cómo “imprimir” o mostrar texto en ese idioma, luego cómo repetir / repetir / repetir / repetir esa acción de impresión 10 veces. Eso es todo, en términos simples.

Con el tiempo y más práctica, mejoraría la implementación de algoritmos en el idioma que elija, o en cualquier otro idioma. Espero que esto ayude.

More Interesting

¿El conocimiento en algoritmos y estructuras de datos le ayuda a avanzar en el campo de la programación?

Cómo agregar números de dos listas vinculadas

¿Es adecuado usar un algoritmo de hash perceptual para desarrollar un motor de búsqueda de imágenes?

¿Cómo funciona el algoritmo de búsqueda de ciclo de Floyd? ¿De qué manera mover la tortuga al comienzo de la lista vinculada, mientras se mantiene a la liebre en el lugar de reunión, seguido de mover un paso a la vez, hace que se encuentren en el punto de inicio del ciclo?

Cómo resolver un problema después de unos días si no pude encontrar la más mínima idea de cómo resolver ese problema

Cómo escribir un programa en C para implementar un algoritmo de planificación de prioridades, junto con la visualización del diagrama de Gantt

¿Podemos implementar un algoritmo genético sin usar mutación?

Cómo mejorar en la resolución de problemas para JEE

¿Qué algoritmos de minería de datos puedo usar para maximizar las ganancias de una compañía de tarjetas de regalo que almacena ventas, pedidos y datos de clientes en una base de datos relacional?

¿Cómo funcionan los algoritmos de Quora para las respuestas?

Entre Palantir, Facebook y Google, ¿qué algoritmos de la compañía son los más rápidos y eficientes en la obtención de resultados a través de información basada en datos?

Cómo realizar un recorrido de orden posterior en un árbol binario

¿Alguien puede enviar el código para la búsqueda binaria en cadenas con clasificación en C ++?

¿Cuáles son los principales algoritmos en visión artificial?

¿Cuál es la mejor optimización de código con menos líneas?