1. Primero, comience leyendo sobre algoritmos y estructuras de datos. Para ayudarlo con eso: ¿Cuáles son los recursos más fáciles de aprender para aprender sobre algoritmos?
2. Practica. Al igual que cualquier otra cosa, practicar te ayudará a mejorar. Con el tiempo, encontrará que muchos algoritmos podrían reajustarse para adaptarse a múltiples necesidades, y que cada estructura de datos que domine podría ayudarlo a resolver un conjunto específico de problemas o mejorar ciertas áreas en un algoritmo.
Mis recursos típicos para problemas / rompecabezas son:
http://community.topcoder.com/tc
http://icpc.baylor.edu/info/Prob…
http://www.leetcode.com/
http://www.careercup.com/
3. Tómese su tiempo con los n. ° 1 y n. ° 2 y mejorará. Para dominar las entrevistas, también debe aprender a escribir código perfecto en papel. Por lo tanto, practique resolver problemas, escribir código, probar, rastrear y depurarlos en papel o en una pizarra. Asegúrese de que para cuando lo escriba en su computadora, ya habrá resuelto todos los casos de prueba, incluidos los casos de esquina, para que el código se ejecute tal como está.
- ¿Los programadores diseñan algoritmos o simplemente los toman de Internet?
- En programación de computadoras, ¿por qué es importante la clasificación? ¿Cuándo se utilizan los algoritmos de clasificación en la codificación real?
- ¿Cuál es el mejor algoritmo de búsqueda en programación?
- ¿Dónde aprendo árboles AVL?
- ¿Cuál es el enfoque algorítmico para el problema spoj SPOJ.com - Problema ROBOTGRI?
4. Por último, pero no menos importante (y esto también aumentaría con el tiempo), deberá tomarse su tiempo para resolver nuevos problemas y acertijos. Confíe en que tiene la capacidad de resolver un problema y tenga la paciencia para pensarlo y resolverlo.
En mi experiencia, muchas personas simplemente abandonan un problema sin darse la oportunidad de tomarse el tiempo y seguir una lógica simple para resolverlo.
A veces, está bien comenzar diciendo lo obvio, fácil y lo que podría parecer una solución tonta al principio, y luego mejorar esa solución o pensar por qué considera que es una solución “mala”, si respondió eso, entonces debería poder trabajar en ello para mejorarlo.