¿Cómo saben los codificadores cómo codificar e implementar un algoritmo instintivamente?

Ellos no. La programación es en realidad altamente estratégica y las soluciones se logran aplicando el conocimiento junto con un poco de experimentación.

El conocimiento se adquiere de varias maneras:

  • Leer sobre eso
  • Experimentandolo

Estos son bloques de construcción para algoritmos. Pero tiene diferentes tipos de bloques de construcción:

  • Procedimientos y pasos
  • Problemas de desempeño
  • Trucos matemáticos
  • Otros algoritmos existentes
  • Propiedades únicas de los datos.
  • Etc …

Los algoritmos son soluciones. Al buscar una solución a cualquier problema, desea tener tanta información como sea posible. Estos bloques de construcción son herramientas.

Ahora que tenemos detalles iniciales, esto es cuando un programador se vuelve táctico y creativo. El enfoque inicial se decide en base a la información disponible.

Las ideas se crean con múltiples posibilidades de combinación y combinación de diferentes herramientas. Este proceso con ese conocimiento o esa herramienta con este método. “¿Utilizo un martillo en la uña? ¿Utilizo un tenedor para beber mi refresco?”

La simulación mental rápida ayuda a algunos programadores a seleccionar y eliminar rápidamente combinaciones imposibles. A veces simplemente no lo sabes, ¡podría ir de cualquier manera! ¡Hora de experimentar!

Prueba 1, 2, 3, … Cada actividad produce conocimiento adicional que también son herramientas de bloques de construcción.

Dado nuevo conocimiento:

  • Escogemos estrategias adicionales.
  • Eliminar imposibilidades
  • Encuentra más incógnitas
  • Pon a prueba nuestras suposiciones
  • Continúa siendo creativo con nuestras herramientas

Sabemos el problema que estamos intentando resolver; Tenemos una expectativa básica de lo que queremos . Podría ser:

  • Método más rápido para hacer algo.
  • Búsqueda más rápida para encontrar algo
  • Información adicional para algo

Un problema bien definido tendrá conceptos bien definidos para lo que tiene sentido como solución.

Los algoritmos no siempre son perfectos. Siempre hay posibilidades de mejores algoritmos.

Programadores de soluciones. Los buenos programadores saben cómo identificar soluciones lo suficientemente buenas para la cantidad de tiempo dedicado a tratar de resolverlo.

Los buenos programadores están capacitados por la información y la experiencia en forma de conocimiento.

El llamado “instinto” viene con la práctica. Eventualmente podría pensar de la manera en que las máquinas piensan, de manera predecible y ordenada, para que la programación se sienta más natural. Tener experiencia en problemas similares también ayuda, por lo que no necesita pensar desde cero.

Así que sí, al igual que la mayoría de las habilidades, la velocidad es algo natural , no la apuntes . Solo asegúrese de leer lo suficiente para mantenerse teóricamente.