Парадигма разработки алгоритмов

Как научиться решать алгоритмические задачи

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

Для этого существуют определённые парадигмы, по которым эти задачи решают. Об одной из них я и хотел рассказать сегодня - разделяй и властвуй. Сама парадигма заключается в том, что вы разбиваете рекурсивно задачу, которая имеется у вас, до тех пор, пока решения не окажутся элементарными, а уже потом компонуете решения. Один из самых известных примеров применения разделяй и властвуй - это сортировка слиянием, в котором вы дробите ваш список данных на небольшие списки, пока их сортировка не упростится до элементарной. Сортировка выполняется либо от меньшего к большему, либо наоборот. Плюсы использования. Алгоритмы в парадигме разделяй и властвуй естественно стараются использовать кеш - память.

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

Nordic IT School

Москва, ул. Большая Спасская 12

+7 925 632-21-47

+7 495 626-46-00

moscow@inordic.ru