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

10
задан Grant Thomas 18 January 2013 в 20:10
поделиться

8 ответов

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

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

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

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

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

Coding Bat

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

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

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

12
ответ дан 3 December 2019 в 13:36
поделиться

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

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

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

1
ответ дан 3 December 2019 в 13:36
поделиться

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

22
ответ дан 3 December 2019 в 13:36
поделиться

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

3
ответ дан 3 December 2019 в 13:36
поделиться

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

1
ответ дан 3 December 2019 в 13:36
поделиться

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

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

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

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

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

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

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

2
ответ дан 3 December 2019 в 13:36
поделиться

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

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

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

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

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

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

2
ответ дан 3 December 2019 в 13:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: