¿Dónde puedo encontrar a alguien dispuesto a enseñarme estructura de datos y algoritmos de forma gratuita o a un costo muy barato?

Su primer paso es dejar de pensar en términos del idioma y las bibliotecas a los que está acostumbrado y comenzar a pensar en términos un poco más abstractos. Es decir, para cada problema, pregunte “¿qué necesita hacer esto?”, Luego busque una estructura de datos o algoritmo adecuado (los dos a menudo van de la mano).

Debe comenzar con lo básico: matrices, listas enlazadas simples, pilas, colas, tablas hash (muy simples). A continuación, puede ordenar y buscar, árboles (binarios), árboles equilibrados, gráficos (incluida la búsqueda de ruta básica), colas de prioridad, conjuntos, máquinas de estado, etc.

Recomiendo no intentar aprender esto de forma aislada; es mejor comenzar con los problemas que le interesan e intentar encontrar soluciones elegantes: esta es una buena manera de comprender las nuevas estructuras de datos y algoritmos en contexto.

Puede obtener muchas respuestas y comentarios de StackOverflow y CodeReview; No hay necesidad de un mentor personal.

Oh, lea las “Perlas de programación” de Jon Bentley: es muy divertido y le enseñará mucho sobre cómo abordar los problemas de programación.

Un libro realmente genial para aprender y comprender a fondo cómo funcionan los algoritmos es el Manual de diseño de algoritmos de Steven S. Skiena.

Los ejemplos de algoritmos están escritos en C o pseudocódigo, por lo que debe tener algún conocimiento del lenguaje.

Como han dicho otros, contratar a alguien para que le enseñe el diseño de algoritmos será una pérdida de dinero y podría ser una pérdida de tiempo. Si insiste en que alguien más le enseñe, debe consultar este curso de Coursera sobre Algoritmos creado por Stanford o este curso de Udacity.

Ahora si quieres una persona. Yo votaría por tus amigos. Debido a que los extraños que son buenos en la programación de algoritmos es que están ganando un mínimo de $ 40 por hora en el trabajo, por lo que probablemente no le enseñarán a bajo precio.

Aunque algunas excelentes opciones para obtener ayuda menor a bajo costo son las reuniones. Hay muchas reuniones de horario de oficina para programadores y estos tienden a ser un gran lugar para obtener algunos consejos y sugerencias. (Ejemplo de Hacker Hours en Nueva York). Los programadores también tienden a ser buenas personas, por lo que si envía un correo electrónico a algunas personas en linkedin, tal vez alguien esté dispuesto a ayudarlo durante una o dos horas para tomar un par de cervezas. Pero pedir un compromiso a largo plazo por poco o ningún pago es un poco irrespetuoso con alguien a menos que sea un amigo.

Si no necesita una persona, este sitio web probablemente lo ayudará a descifrar la entrevista de codificación (Libro)

Hay una buena colección de youtube (mycodeschool), una vez que comprenda el contenido, consulte los videos MIT OCW (Introducción a los algoritmos).

Puede aprender usted mismo leyendo un libro, trabajando a través de un MOOC en línea o inscribiéndose en un curso en una institución postsecundaria.

More Interesting

¿Por qué son importantes las pruebas para estudiar algoritmos y estructuras de datos? ¿Estudiar esas pruebas complejas es realmente necesario?

¿Qué es el "peso" en el algoritmo de Facebook?

¿Cómo funciona el algoritmo de despacho de Uber?

¿Cuál es el mejor método para aprender efectivamente ciencia de datos / aprendizaje automático desde cero para un estudiante promedio de Ingeniería (idiomas, algoritmos, tutoriales, etc.)?

¿Son SHA256 y AES256 funciones hash o cifrados o algoritmos?

¿Obtuviste un trabajo de ingeniería de software al aprender algoritmos a través de MOOC?

¿Cuáles son algunos ejemplos interesantes con algoritmos evolutivos que se pueden implementar en una tarde o menos?

¿En qué situación podemos usar el algoritmo EM para encontrar la probabilidad?

¿Los ingenieros de software de Google, Amazon, etc. utilizan estructuras de datos y algoritmos en el desarrollo de aplicaciones en tiempo real?

¿Cuál es la complejidad del tiempo de un algoritmo?

¿Por qué no puedo resolver mi Cubo de Rubik de 4 x 4 x 4 como un cubo de Rubik de 3 x 3 x 3 si ya he hecho los centros y los bordes?

¿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?

¿Cómo saben los codificadores cómo codificar e implementar un algoritmo instintivamente?

¿Cuáles son las desventajas del algoritmo genético?

¿BFS es más rápido y más eficiente que DFS?