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:
- Si digo los números del 1 al 100 en un orden aleatorio y omito un número, ¿cómo determinaría el número que falta solo en su cabeza?
- Es un método de retroceso para imprimir permutaciones de cadena. No entiendo de qué manera se produce el flujo de control, como después de encontrar el intercambio, el intercambio se llama luego permutar y luego nuevamente. ¿Esto no se me viene a la cabeza?
- ¿Qué pasaría si más personas se dieran cuenta de que la Ley podría entenderse como una serie de algoritmos sociales en un programa que se resiste a la compilación?
- ¿De dónde viene el nombre perceptrón?
- ¿Por qué mi implementación de Quicksort no funciona?
- 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.