Когда начинать изучать алгоритмы и структуры данных?

Когда именно следует начинать знакомство с алгоритмами и структурами данных?Тема мне интересна,но она не так проста, как хотелось бы.Я пробовал изучать алгоритмы от Принстона, но после 150 страниц голой теории, я увидел практическую часть, т.е. как выглядит реализация того или иного алгоритма на конкретном языке, и понял, что я таких тонкостей языка еще и не знаю.С паттернами проектирования тоже самое.В превью
сказано, что читатель должен быть продвинутым в языке, что бы понимать, о чем мы тут говорим.
Даже в академии Хана, такой примитив как бинарный поиск, линейный поиск реализованы на JS, но что бы понять все, нужно понимание не хилое.Дайте совет, когда и как стоит приступать к этим вкусняшкам?Я скачал оч крутую литературу, и прям не терпится уже начать в этом всем разбираться.
  • Вопрос задан
  • 6344 просмотра
Пригласить эксперта
Ответы на вопрос 6
@throughtheether
human after all
Дайте совет, когда и как стоит приступать к этим вкусняшкам?
Когда у вас появятся релевантные задачи. Например, как вам уже рекомендовали, "олимпиадные". (рекомендую codeeval и codewars). Вы можете сначала решить задачу каким-либо "наивным" способом, затем поискать (спросить) подходящую структуру данных, сравнить производительность подходов. На мой взгляд, привязка к какой-никакой практике позволяет знаниям лучше усваиваться.

Еще могу порекомендовать курс (там две части) на coursera от Stanford за авторством Tim Roughgarden. Очень доступно объясняет.
Ответ написан
@LAV45
Вы можете прочитать любую понравившуюся вам книгу, особо не отвлекаясь на разбор нюансов реализации языка программирования. Таким образом у вас сложится примитивный набросок всей картины. Через некоторое время можете заново перечитать эту же книгу и вы обнаружите для себя много новых моментов которые раньше упустили. И картина, в вашей голове, получит уже более четкие очертания.
Ответ написан
Комментировать
@ItsGreyDay
Мне понравилась книга Роберт Седжвик, Кевин Уэйн "Алгоритмы на Java", 4-е издание . От автора есть так же курс на курсере. Глубокого понимания java не требуется, после каждой главы есть множество задач для самоконтроля.
Ответ написан
angrySCV
@angrySCV
machine learning, programming, startuping
хм, как раз основные книги по алгоритмам на псевдо языке программирования, без привязки к какому-либо языку, что-то похожее на паскаль например.
не буду Kнута советовать с его низкоуровневым языком,
есть вот тут "Алгоритмы" — Дасгупта С., Пападимитриу Х., Вазирани У. codeforces.com/blog/entry/12314
отличная книга для начинающих.
Ответ написан
Комментировать
@ichernob
Если тема вам интересна, то это ли не причина ее изучать прямо сейчас? Пусть много непонятного. Было бы желание, а путь найдется.
Ответ написан
Комментировать
150 страниц голой теории? смысл? вспомните как в школе учились - 2-10 страниц теории + задачки по прочитанной теме и так далее в таком цикле. и конечно после каждой главы проверка + сложные задачи. как то так нужно обучаться точным наукам
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы