Зачем знать алгоритмы сортировки


5 2

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

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

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

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

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

Проблема в том, что многие не знают даже базовых алгоритмов и когда им говоришь - а найди мне что-то, они начинают тупо решать проблему в лоб, потому что нет багажа знаний, а потом так же и решают на работе задачи. И слава богу появился LINQ, благодаря которому C# программистам не нужно знать алгоритмы вообще, если уметь хорошо пользоваться LINQ. А стоит дать программисту PHP, как они вообще в ступор входят. 


Понравилось? Кликни Лайк, чтобы я знал, какой контент более интересен читателям. Заметку уже лайкнули 2 человек


Комментарии

Дмитрий

30 Января 2019

Миша, можешь посоветовать книгу по алгоритмам для "работающих взрослых людей, у которых нет времени разбираться в математических раскладках" ? ))


Михаил Фленов

30 Января 2019

Разбираться в них как раз самое важное в знании алгоритма. Я так давно читал последний раз книгу на эту тему, что не помню автора и я те книги оставил в Ростове. Помню, что последняя был что-то типа Алгоритмы и структуры данных на Java. Язык не так важен в данной книге, потому что особо специфического в такой книге не используют.


Евгений рнд

30 Января 2019

Linq это реально мощь. Еще async/await может с ним сравниться по удобству и простоте использования для реализации часто рутинных вещей.


Максим

31 Января 2019

Сегодня будет стрим ?


Михаил Фленов

31 Января 2019

Да, я собираюси выходить в онланй где-то в 7 по Москве


Добавить Комментарий

Еще что-нибудь

Хотите найти еще что-то интересное почитать? Можно попробовать отфильтровать заметки на блоге по категориям.

О блоге

Программист, автор нескольких книг серии глазами хакера и просто блогер. Интересуюсь безопасностью, хотя хакером себя не считаю

Обратная связь

Без проблем вступаю в неразборчивые разговоры по e-mail. Стараюсь отвечать на письма всех читателей вне зависимости от страны проживания, вероисповедания, на русском или английском языке.

Пишите мне