Стандартные алгоритмы обогащают работу с контейнерами. И не только с ними. Используют обобщенное программирование, т.е. легко могут применятся к широкому спектру типов. Предоставляют интерфейс через итераторы. Если возвращают итератор, то того же типа, что и принимают. Объявлены в пространстве имен std: <algorithm>.
Функторы (их еще называют объект-функциями) - конструкция, которая предоставляет возможность использовать объект как функцию. Это может быть структура или класс, перегружающие оператор (). Идентификатор типа возвращаемого значения operator () у функтора может быть любой. Часто, функциональные объекты делают шаблонными для лучшей возможности повторного использования кода.