Cómo mejorar en Algoritmos y Programación.

Estudio ” Introducción a los algoritmos ” por Cormen, Leiserson, Rivest y Stein, famoso como CLRS . Comience desde el primer capítulo, que trata sobre la clasificación, luego aprenda las estructuras de datos básicas, desde listas vinculadas hasta árboles rojo-negros. Opcionalmente, puedes estudiar “Aumentar estructuras de datos”. Puede omitir temas como los montones de Fibonacci por ahora. Luego continúe con la sección de algoritmos de Teoría de grafos y estudie los algoritmos MST de DFS, BFS, Prim y Kruskal, algoritmos de ruta más corta como los de Dijkstra, Bellman-Ford, Floyd-Warshall. Intenta implementar cada uno de ellos en tu lenguaje de programación favorito. Resuelve algunos ejercicios simples.

Primero necesitas conocer bien las matemáticas discretas. Estudie la prueba de cada algoritmo para que cuando necesite modificarlo, sepa qué funciona y qué no.

Aparte de eso, le sugiero que comience con la ” programación competitiva”. Este no solo lo ayuda a aprender varias estructuras de datos y algoritmos de una manera divertida, sino que también lo ayuda a resolver preguntas algorítmicas en entrevistas tecnológicas (como efecto secundario). Si decides ir lejos, incluso terminas aprendiendo muchas estructuras de datos y algoritmos avanzados que no se enseñan en una clase introductoria.

Para una programación competitiva, puede comenzar por registrarse en Hackerrank, Codechef o SPOJ. Sugiero la primera, porque los editoriales son buenos, los problemas se etiquetan adecuadamente de acuerdo con los conceptos requeridos y la dificultad.

Aparte de eso, puede consultar algunos de los recursos disponibles en línea.

  • Algoritmos, Parte I – Universidad de Princeton | Coursera
  • Algoritmos, Parte II – Universidad de Princeton | Coursera
  • Algoritmos | Coursera – de la Universidad de Stanford
  • GeeksforGeeks | Un portal informático para geeks: esto ayuda si se está preparando para una entrevista tecnológica.

Lea también la siguiente respuesta: Respuesta del usuario de Quora a ¿Cómo puedo mejorar mi pensamiento algorítmico para la programación competitiva en poco tiempo? ¿Cuáles son algunos recursos?

Si no los ha leído, lea el SICP y la Introducción a los algoritmos. Necesitarás varios meses.

Pero debes aceptar que la programación es difícil . Lea Enseñe a usted mismo la programación en diez años y comprenda que necesita muchos años de esfuerzo. Programar no es más fácil que tocar el violonchelo o la escultura de madera o la química o las matemáticas (a nivel profesional): ¡necesitas muchos años de esfuerzo y trabajo!

Practica mucho. Estudie el código fuente de varios proyectos de software libre existentes (por ejemplo, en github o sourceforge). ¡Además de su tarea, considere contribuir a algún proyecto de software gratuito de tamaño mediano existente! Instale y use alguna distribución de Linux en su computadora (porque es amigable para los desarrolladores y en su mayoría está hecha de software libre).

Vea también la respuesta de Basile Starynkevitch a Si quiero codificar para ganarme la vida, ¿cuáles son los idiomas que debería aprender y las cosas que debo hacer?

Necesitas muchos más esfuerzos que lo que estás poniendo. Y necesitas pasión por eso (si no te apasiona la informática, y eso está bien, no todos son aptos para la programación, considera cambiar de dominio).

Consejo adicional: no jugar videojuegos . En su tiempo libre, evite las computadoras, pero tenga algunas actividades sociales, toque música, haga algo de deporte, etc.

Le hice la misma pregunta a mi papá. Él me respondió: “Nadie puede enseñarte eso”. Eso fue realmente desmotivador, pero incluso me di cuenta de que es el hecho.

Así que empecé a seguir estas cosas a diario,

  1. Lea el código de otra persona e intente comprender su punto de vista (1 código / día)
  2. Leyendo la pregunta 3 veces y luego empieza. (Esto me da una mejor comprensión de lo que debería ser el Producto).
  3. Aprendizaje de nuevos algoritmos a través de MOOC’s.

Ahora, estoy mejor y mi universidad me ha dado un proyecto para trabajar.

La clave es PRACTICAR varios códigos!

Usted dice que después de hojear los códigos de otros, se da cuenta de que también podría hacerlo. Es, por lo tanto, claro que encuentras códigos completos.

La respuesta de Ashvini Naik a “Tengo miedo de la programación”. ¿Cómo puedo deshacerme de este factor de miedo y aprender Java?

He visitado una pregunta similar últimamente. No importa qué lenguaje de programación esté tratando de dominar, necesita practicar el descifrado de códigos y ejecutarlos mientras aprende a solucionar problemas.

Le sugiero que aprenda que la programación en sí misma comience con Algoritmos y estructuras de datos y mejore sus habilidades de pensamiento lógico.

¿Por qué? Le diré a mi experiencia que no conocía C ++ porque en la universidad solo nos enseñaron a usar la sintaxis, la lógica y la programación dependían de nosotros, así que primero programe el lenguaje que desee C ++, java, python.

Hay un curso en Coursera sobre Algoritmos que lo comprueba.

Para el pensamiento lógico, resuelve muchos rompecabezas matemáticos.

También hay un excelente curso en edX sobre introducción a la informática. Pruébelo.

Espero que esto ayude.

Hola jainam shah

Sucede en los primeros días de la universidad. Todos tenemos que enfrentar esta situación.

  1. Debe aprender todo el concepto y familiarizarse con los objetos que se utilizarán.
  2. Necesitas tener claro el objetivo del programa.
  3. Necesitas pensar todos los flujos que suceden en los algoritmos.
  4. Debe comprobar cómo fluyen los datos en cada paso.
  5. Póngase en lugar de los datos, y encuentre, dónde y cómo recorrer.

Supongamos que necesitas compilar un programa Java. Debe pasar un objeto de un jsp a otro jsp.

Consulta con los pasos, ¿qué debes hacer?

  1. Al enviar el formulario en el primer jsp, está enviando el objeto al controlador.
  2. En el controlador estás poniendo objeto en sesión
  3. En el segundo jsp, estás definiendo la cadena en la sesión.
  4. Por último, cómo recuperar el objeto.

¡Buena suerte!