ЧТо понимается под алгоритмами?

Позвали на собеседование. Сказали будет тестирование на знание алгоритмов. Что понимается под алгоритмами в плюсах, чтобы подготовиться?
  • Вопрос задан
  • 79 просмотров
Решения вопроса 1
@lnxlnxlnx
Говоря простым языком, алгоритмы представляют собой общепринятые решения определённой задачи.
Я бы тебе посоветовал просмотреть алгоритмы из STL, зачастую спрашивают конкретно за них. Если сможешь рассказать хотя бы за парочку реализаций или близко к тому, то у тебя будут все шансы показаться в глазах ментора гидом глубоких знаний языка.
Совет для поиска: "Основы работы с алгоритмами STL". Удачного собедесования :)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
OCTAGRAM
@OCTAGRAM
Алгоритмы вообще не про языки программирования. Вам требуется голова, чтоб алгоритм воплотить в код на конкретном языке программирования. А нередко, если нужны алгоритмы, от этой головы требуется структурное понимание инвариантов в самом алгоритме, чтоб, в случае чего, пристыковывать сбоку дополнительные фишки. И голова нужна, чтоб размышлять о том, а что вообще можно пристыковать.

Например, на одном из олимпиадных заданий нужно было найти путь по графу, который, будучи записан строкой, имел некоторые хорошие свойства. Но если применять как есть алгоритм Дейкстры, то не проходим ограничения по памяти, куча (heap) узлов забивается длинными строками. Однако берём, думаем, замечаем, что алгоритм Дейкстры находит узлы в удобном хронологическом порядке, и можно длинные пути схлопнуть, введя явно такую нумерацию. А потом в конце для ответа раскрутить обратно.

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

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

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