Para empezar, la resolución de problemas con Java es un subconjunto de la resolución de problemas. Por lo tanto, enmarcaré mi respuesta de una manera para que pueda resolver problemas no solo en Java, sino también en todos los demás lenguajes. Empecemos.
Entonces, ¿qué es un problema?
El Concise Oxford Dictionary (1995) define un problema como:
- ¿Cuál es la forma más eficiente para que un programador sea bueno en algoritmos sin participar en competencias de programación?
- ¿Cuál es el algoritmo de fuerza bruta O (n!) Para calcular las rutas más largas?
- ¿Qué algoritmos son más importantes para un concursante de ACM ICPC?
- ¿Podría dar un algoritmo que calcule la puntuación máxima de la mejor alineación de secuencia (S ', T') de S y T?
- ¿Es el algoritmo de búsqueda de Google realmente el mejor?
” Un asunto dudoso o difícil que requiere una solución ”
y
” Algo difícil de entender, lograr o tratar “.
Características de los problemas:
Todos los problemas tienen dos características en común:
- Objetivos: Los problemas implican establecer un objetivo o un estado de cosas deseado y pueden incluir evitar una situación o evento.
- Barreras: Si no hubiera barreras en el camino para lograr una meta, entonces no habría problema. La resolución de problemas implica superar las barreras u obstáculos que impiden el logro inmediato de los objetivos.
Ahora, ¿qué es la resolución de problemas?
La resolución de problemas es el proceso de trabajar a través de los detalles de un problema para llegar a una solución. La resolución de problemas puede incluir operaciones matemáticas o sistemáticas y puede ser un indicador de las habilidades de pensamiento crítico de un individuo.
Entonces, ¿cuáles son las habilidades necesarias para resolver problemas?
La resolución de problemas requiere dos tipos distintos de habilidades mentales:
- Analítico: el pensamiento analítico o lógico incluye habilidades tales como ordenar, comparar, contrastar, evaluar y seleccionar. Proporciona un marco lógico para la resolución de problemas y ayuda a seleccionar la mejor alternativa de las disponibles al reducir el rango de posibilidades (un proceso convergente). El pensamiento analítico a menudo predomina en la resolución de problemas cerrados, donde las muchas causas posibles tienen que ser identificadas y analizadas para encontrar la causa real.
- Creativo: el pensamiento creativo es un proceso divergente, que utiliza la imaginación para crear una amplia gama de ideas para soluciones. Requiere que miremos más allá de lo obvio, creando ideas que, al principio, parezcan poco realistas o no tengan una conexión lógica con el problema. Hay un gran elemento de pensamiento creativo para resolver problemas abiertos.
Las habilidades de pensamiento creativo se pueden dividir en varios elementos clave:
- Fluidez – Produciendo muchas ideas
- Flexibilidad : producir una amplia gama de ideas
- Originalidad – Produciendo ideas poco comunes
- Elaboración – Desarrollando ideas
Entonces, ¿cuáles son los diversos pasos de la resolución de problemas?
Entonces, ¿cuáles son algunos atajos para resolver problemas de manera efectiva?
- Centrarse en la solución, no en el problema
- Tiene una mente abierta
- Ver problemas neutralmente
- Pensar lateralmente
- Use lenguaje que cree posibilidades
- Simplifica las cosas
Entonces, ¿ahora cómo resolver problemas usando Java?
Muy simple…
- Desarrolle la lógica utilizando los pasos explicados anteriormente.
- Implemente la lógica en Java
Entonces, ¿cuáles son algunos buenos recursos para aprender a resolver problemas en Java?
- Estructuras de datos y resolución de problemas usando Java por Mark Allen Weiss
Encuentre soluciones aquí: http://www.cse.chalmers.se/~holm…
También puedes referir libros como:
- Estructuras de datos y análisis de algoritmos en Java por Mark Allen Weiss
- Introducción a los algoritmos por Charles E. Leiserson, Clifford Stein, Ronald Rivest y Thomas H. Cormen
- Estructuras de datos y algoritmos en Java por Robert Lafore
Espero que ya tenga clara la forma en que necesita abordar la resolución de problemas …
Resolver problemas es cazar. Es un placer salvaje y hemos nacido para ello. Entonces, piense diferente y comience a resolver problemas.
En lugar de pensar fuera de la caja, deshazte de la caja …
¡¡¡Disfruta aprendiendo!!! ¡Disfruta resolviendo!