Cómo ser bueno en el desarrollo de algoritmos muy complejos

La mayoría de los algoritmos geniales no son complejos, pero son inteligentes (por ejemplo, árboles Rojo-Negros, Cheney GC, …). Un algoritmo es muy similar a (e incluso podría verse como) una prueba matemática. Y las pruebas rara vez son complejas, por ejemplo, porque pueden presentarse como descompuestas en piezas comprensibles (lemas, proposiciones, teorías, …). Por supuesto, pueden ser difíciles e inteligentes.

No estoy seguro de entender qué quieres decir con algoritmos complejos. Ni siquiera estoy seguro de poder nombrar uno. ¿Quizás te refieres a “programas complejos”? Observe que muchos programas complejos grandes e interesantes (el kernel de Linux, el compilador GCC, el navegador Firefox, el DBMS PostGreSQL, el compilador SBCL) pueden verse como una composición inteligente de algoritmos inteligentes (pero no complejos).

Entonces, para aprender eso (que es casi lo mismo que aprender programación, que lleva diez años):

ten paciencia, necesitarás muchos años.

lea SICP, un gran libro (disponible gratuitamente) para aprender programación.

Aprender varios lenguajes de programación (especialmente académicos) y varios paradigmas de programación.

lea varios buenos libros, en particular Introducción a los algoritmos

Estudiar Ciencias de la Computación (las universidades son buenas para enseñar eso), incluyendo sistemas operativos, arquitectura de computadoras, compiladores , bases de datos (y también su implementación)

practica mucho, en particular estudiando y contribuyendo a varios proyectos de software libre.

1. Elija con qué idioma desea comenzar su viaje de crecimiento. Paths es un excelente punto de vista desde mi perspectiva, ya que ofrece crecimiento frontend y postventa juntos.

2. Comprender los componentes y el conjunto de habilidades requeridas. Asumiendo rutas: debe preguntarse “¿cuáles son las habilidades que necesita un desarrollador de pistas?”

3. Comprender. Concepto. Comprender y Concept nuevamente. Este diseño nunca se detiene.

Este no es el fin del mundo para ti, mi apoyo es:

Haz un crecimiento agresivo.

Revise los diversos componentes que analizó en clasificación o educación superior.

Intenta ir con expertos o doctores.

Mientras realiza los 3 factores anteriores, concéntrese en tareas parciales, vaya con ellos de fácil a difícil, realice una actividad efectiva del sistema, luego vaya más grande, comience poco sin ser tímido, solo si desea ser un desarrollador genuino.

Trate de obtener una pasantía o alguna actuación, incluso si ayudó 100% 100% 100% gratis (No es una pena, ayudé 100% 100% 100% gratis durante 3 varias algunas semanas para una organización porque consideraron que era negativo suficiente todavía mientras estaba en la escuela) (me refiero a una organización en innovación tecnológica y tu importante es seguro).

Complete aquí: ¿Cómo puede convertirse en un muy buen programador?

Al llegar a ser bueno en el desarrollo de los más simples, luego en el desarrollo de los no tan simples, luego en el desarrollo de los moderadamente complejos … Creo que se entiende la idea.