Cómo aumentar mis habilidades en estructuras de datos después de una larga hibernación [cerrado]


10

Fui bastante bueno con algoritmos y estructuras de datos una vez, hace mucho, mucho tiempo. Desde entonces, programé profesionalmente, y luego fui a administrar un pequeño equipo, que disparó totalmente mis habilidades tecnológicas en este campo.

Decidí que quiero volver a ser desarrollador y trabajar para Google. La cuestión es que estoy tan fuera de práctica, que si me entrevistaran en este momento seguramente me caería en 10 minutos.

¿Qué programa de entrenamiento me recomendarías para volver a estar en forma? Ya comencé este fin de semana volviendo a los conceptos básicos absolutos e implementando algunos algoritmos de clasificación, una lista vinculada y una tabla hash. A continuación, creo que leeré todo el material del curso sobre otras estructuras de datos básicos y algoritmos gráficos. Quiero encontrar un conjunto enfocado de ejercicios prácticos que pueda hacer en un tiempo relativamente corto, para hacer malabarismos con las viejas células cerebrales. Sé esto, solo necesito recordarme que lo sé.


@Anon: Si esta es una nueva forma en que Google está creando un rumor sobre sí mismo este año nuevo, hay una cosa que quisiera decir. Funciona.
Fanatic23

44
Si sus estructuras de datos fueron hibernadas, lo más probable es que se serialicen. Solo necesita deserializarlos.
Mchl

44
@Mchl: no sé acerca de Anon, pero he descubierto que el medio de almacenamiento "cerebral" es aún menos confiable a largo plazo que los disquetes. Todo lo que se serializó hace más de unos años es casi seguro que ahora está dañado.
Steve314

Respuestas:


6

Hay 4 cosas que quisiera decirte, y he enumerado el orden que necesito decirte:

  1. Obtén tu propia fuente de té verde mientras estás en esto
  2. Mientras bebes ese té verde, revisa el libro de Skiena disponible desde aquí . Y revise el material de audio / video aquí .
  3. Echa un vistazo a un excelente conjunto de enlaces mantenido por Google en http://code.google.com/edu/courses.html
  4. Revisa las preguntas relacionadas con algoritmos en SO e intenta responderlas por tu cuenta

¡La mejor de las suertes!


Si bien me encanta el libro de skiena, nunca supe que había un material de audio / video, gracias.
Flash

1

Sugeriría elegir una estructura de datos real o un formato de archivo que la gente esté usando en este momento, y hacer algo genial con eso. El formato de archivo Git está bastante bien documentado, por ejemplo:

http://book.git-scm.com/1_the_git_object_model.html

Hacer algo interesante con un formato que la gente usa y ser riguroso al respecto, enseña lecciones y le brinda algo en lo que la gente estará interesada.

O al menos, haga algo con un ángulo único. Cuando estaba en una posición similar a la suya, escribí una respuesta a una pregunta de una entrevista en línea sobre cómo hacer un gráfico no dirigido que pudiera detectar la inserción de ciclos. Hubiera sido un problema fácil si no hubiera agregado restricciones adicionales ... pero decidí exigir que pudiera hacer inserciones en O (1). El resultado fue NoCycle:

http://hostilefork.com/nocycle/


1

Esto depende exactamente de cuál es su objetivo: por ejemplo, ¿está allí el diseño y análisis de algoritmos, o se apega a las estructuras y algoritmos estándar? Pero me parece que ya estás haciendo lo que tienes que hacer.

Si todavía tiene un antiguo libro de texto favorito de "hace mucho, mucho tiempo", le sugiero que vuelva a visitarlo. Más allá de eso, es el consejo estándar de volver a visitar cualquier cosa. Hágase preguntas específicas, busque las respuestas, cuando se quede sin preguntas, hojee y explore rápidamente todo lo que pueda encontrar hasta que pueda encontrar algunas preguntas más específicas.

Algoritmos y estructuras de datos (Niklaus Wirth) es un libro relativamente conciso sobre algoritmos básicos y estructuras de datos sin todo el diseño y análisis de algoritmos. Sin embargo, es muy básico: listas, varios árboles, montones, pero no recuerdo sobre los dígrafos, por ejemplo. Una ventaja es que hay una descarga gratuita de la versión de Oberon - http://www.inf.ethz.ch/personal/wirth/ - busque el enlace PDF cerca del final de la lista de libros. Wikipedia es un recurso obvio, pero tiene tanto que es una buena idea decidir qué quiere y qué no quiere antes de ir allí.


0

Cuando solías ser bastante bueno con algoritmos y estructuras de datos, ¿a qué recursos accedías?

¿Qué tan corto es el "tiempo relativamente corto" que necesita para repasar sus conocimientos?

No creo que el conocimiento que se obtiene con dedicación se desvanezca. Solo se desvanecerá un poco, y USTED es el mejor juez de las áreas en las que necesita trabajar para recuperar su antigua destreza con los temas que una vez amó.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.