Как быть хорошим в структурах данных и анализе? - PullRequest
6 голосов
/ 31 октября 2008

Я хочу хорошо разбираться в структурах данных и анализе. на Яве. Я часто чувствую себя очень слабым. Что я должен сделать, чтобы быть хорошим в этом? Какие-нибудь хорошие умственные упражнения?

Ответы [ 4 ]

13 голосов
/ 31 октября 2008

Отличная книга по анализу сложности, включая свойства популярных и не очень популярных структур данных, - Введение в алгоритмы, второе издание , также называемое CLRS. Широко считается библией алгоритмов и их анализа.

Для чего-то более ориентированного на Java, мой вводный курс по Java для студентов использовал эту книгу , и я нашел ее адекватной.

Для умственных упражнений вы можете ознакомиться с практикой. Попробуйте Project Euler , TopCoder или google "проблема практики acm" . Это, пожалуй, то, что даст вам наиболее ощутимые преимущества в повседневном кодировании. Большинство из них будут принимать и оценивать решения Java (и C / C ++), поэтому вы все настроены на язык.

3 голосов
/ 31 октября 2008

Для анализа структур данных вам необходимо изучить дискретную математику (комбинаторику) и статистику.

2 голосов
/ 31 октября 2008

Обычно я бы порекомендовал CLRS , но, поскольку вы специально вызвали Java в своем вопросе, я рекомендую Объекты, абстракция, структуры данных и дизайн: использование Java версии 5.0 . У него действительно фантастические объяснения структур данных и алгоритмов, которые заставляют их работать.

1 голос
/ 05 ноября 2008

Алгоритмы на Java, R. Седжвик - очень хорошая книга по алгоритмам с реализациями Java.

...