(Оффтоп)
Пытаюсь понять и установить взаимосвязи на уровне философии
Неудачная идея.
А один алгоритм может решать несколько задач
В классических определениях - не может. Любой алгоритм задает ровно одну конкретную функцию.
Например, алгоритм сортировки числового массива помимо сортировки решает задачу поиска максимального числа и минимального числа в массиве.
Нет, не решает. Ответом на задачу поиска максимального числа является число, а на задачу сортировки - массив чисел.
Даже если у нас уже есть алгоритм сортировки, то для получения максимума нужно приложить дополнительные усилия - а именно взять последнее число из массива.
Есть ли по этой тематике, что почитать?
По теории алгоритмов - Верещагин, Шень
"Языки и исчисления" "Вычислимые функции". Или прикладное - Кормен, "Алгоритмы. Построение и анализ".
По "философии алгоритмов" вы можете почитать хоть
Порфирьевича (нейросетевой генератор текстов) - я сильно сомневаюсь, что есть более осмысленные тексты.
Порфирьевич писал(а):
Истина состоит в том, что «все просто, потому что больше одного вопроса не может быть» и «один алгоритм не может решить задачу».