Должен ли я сначала изучить структуры данных и алгоритмы или язык программирования Java?

Я начинаю программировать. Должен ли я изучать структуры данных и алгоритмы, а язык программирования Java бок о бок? Теперь, когда я знаю, что структуры данных и алгоритмы составляют основу программирования. Должен ли я сначала изучить их?

Я смущен. Каким должен быть мой путь обучения?

Я хочу быть действительно хорошим программистом на Java.

Ответ 1

Моя рекомендация:

1.) Изучите основы

Изучение языка Java

(исключая главу Generics, это более сложная тема)

2.) Изучая основы, практикуйте полученные знания, решая простые упражнения.

Кодирование Bat

3.) Начните внедрение простых алгоритмов, узнайте, как использовать рекурсию

  • Bubble Sort (только для практики, никогда не использую это)
  • Вставка Сортировка
  • ...

4.) Возьмите хорошую книгу о структурах данных и алгоритмах и начните их изучать.

Ответ 2

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

Ответ 3

Я думаю, что вы должны изучить только самые основы java, а затем начать изучать структуры данных и алгоритмы рядом с некоторыми более продвинутыми java. Если вы начнете изучать такие вещи, как алгоритмы, не изучая хотя бы некоторые языковые конструкции, все будет трудно понять.

Ответ 4

Часто мы, программисты, никогда не учимся быть хорошими программистами.

Язык, с которым мы прыгаем сначала, слишком сильно влияет на то, как мы думаем о проблемах. Позже мы можем изучать другие языки, но мы продолжаем для написания программ, как если бы мы использовали первый.

Наши горизонты обрезаны этим языком начала (например, Java) или парадигма (например, объектно-ориентированная).

Хотя мы чувствуем, что нам чего-то не хватает, мы слишком заняты сражаясь с аллигаторами, чтобы слить болото, которое нас болото.

Мой совет - не прыгать в Java или что-то еще слишком быстро. С самого начала предлагайте себе прогрессию языков. Вы станете лучшим программистом на Java.

Это действительно хороший путь:

http://www.teach-scheme.org/Overview/

Ответ 5

Я бы лично посоветовал вам выучить Java, хотя большинство языков программирования будут делать. Хотя алгоритмы и структуры данных являются важной частью программирования, они не единственные. Полезно знать язык программирования при изучении любого подраздела области разработки программного обеспечения, такого как A.I. или Структуры данных, поскольку это дает вам более глубокое понимание внутренней работы алгоритмов. Важно иметь возможность читать псевдокод и переводить его в фактический рабочий код.

Sun Tutorials великолепны, поскольку они охватывают большой объем материала, как новичок (см. раздел "Основы языка" ), так и расширенный.

Этот бесплатный онлайн-учебник по Java отличен, так как он может быть просмотрен онлайн или офлайн, загрузив бесплатную версию PDF.

Затем я рекомендовал бы некоторую практику, чтобы полностью понять язык, либо работая над небольшими персональными проектами (простые текстовые игры, утилиты и т.д.), либо изучая некоторый код с открытым исходным кодом. Sourceforge отлично подходит для этого.

Кроме того, если вам нравится математика, Project Euler - отличный способ изучения Java (или любого другого языка, поскольку решения могут быть решены на любом языке). Это также поможет вам развить навыки, необходимые для работы с алгоритмами и решить их.

Как только вы почувствуете, что у вас есть хорошее понимание выбранного вами языка, переход к алгоритмам и структурам данных будет не только проще, но и приятнее. Ваша способность переводить псевдокод в рабочий код будет очень полезна, так как вы действительно сможете понять работу алгоритмов и структур данных и сможете реализовать их в тестовых приложениях.

Ответ 6

Большинство книг по структурам данных будут внедрены в некоторые языки программирования. Я бы предложил найти тот, который использует Java и оттуда. Тем не менее, DS и алгоритмы великолепны, но только те, которые не станут "действительно хорошим Java-программистом".

Ниже приведена ссылка на поиск в Google Покупках для книг структур данных Java. Я дам себе время, сказав, что я никогда не читал ни одного из них, а книга DS, которую я читал в колледже, была написана для C.

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

Ответ 8

Определенно, моя рекомендация - сначала изучить алгоритмы и структуры данных после...., а затем язык программирования, такой как Java. Я говорю по своему опыту.