На первом стриме меня спросили, какие алгоритмы нужно знать и я в качестве основных назвал поиск и сортировку. Сегодня под одним из видео о алгоритмах заметил много комментариев о том, что знание алгоритмов сортировки нужно только для ответа на собеседовании на вопрос, который любят задавать.
На самом деле знание базовых алгоритмов необходимо не только для прохождения собеседования, но и для саморазвития и умения решать типовые задачи.
Возможно вы даже не замечаете, как вы используете эти знания. Понимание алгоритмов даже сортировки, даже пузырьком позволяет вам понять просто типичные решения пробелем, которые вы будете накладывать в других задачах.
Очень часто нам не нужно реализовывать сортировку, уже все за нас сделано, особенно в простых прикладных приложениях. Но в алгоритмах сортировки и поиска есть что-то более важное. Если вы знаете их, то на примерах уже видели, как разные задачи решаются простым делением (поиск, сортировка) и можете использовать этот же патерн в других задачах.
На собеседованиях как раз начали в последнее время спрашивать на много более сложные вопросы. У меня на работе вообще спрашивают банальный вопрос о поиске в строке и то из 10 человек пока только один смог решить проблему более менее терпимо, хотя задача реально банальная.
Проблема в том, что многие не знают даже базовых алгоритмов и когда им говоришь - а найди мне что-то, они начинают тупо решать проблему в лоб, потому что нет багажа знаний, а потом так же и решают на работе задачи. И слава богу появился LINQ, благодаря которому C# программистам не нужно знать алгоритмы вообще, если уметь хорошо пользоваться LINQ. А стоит дать программисту PHP, как они вообще в ступор входят.
Понравилось? Кликни Лайк, чтобы я знал, какой контент более интересен читателям. Заметку уже лайкнули 2 человек
Миша, можешь посоветовать книгу по алгоритмам для "работающих взрослых людей, у которых нет времени разбираться в математических раскладках" ? ))
Разбираться в них как раз самое важное в знании алгоритма. Я так давно читал последний раз книгу на эту тему, что не помню автора и я те книги оставил в Ростове. Помню, что последняя был что-то типа Алгоритмы и структуры данных на Java. Язык не так важен в данной книге, потому что особо специфического в такой книге не используют.
Linq это реально мощь. Еще async/await может с ним сравниться по удобству и простоте использования для реализации часто рутинных вещей.
Сегодня будет стрим ?
Да, я собираюси выходить в онланй где-то в 7 по Москве
Хотите найти еще что-то интересное почитать? Можно попробовать отфильтровать заметки на блоге по категориям.