На мой взгляд, алгоритмы - это то, что работает с или на структурах данных, поэтому между ними есть разница. Простая структура данных - это массив, но существует множество алгоритмов, которые работают с простыми массивами, поэтому должен быть способ их разделения. Массив также может представлять дерево, а деревья обрабатываются с помощью специализированных алгоритмов.
Разница не велика, потому что большую часть времени вы не можете получить одно без другого, но иногда можете. Рассмотрим тривиальный алгоритм, который определяет, является ли число простым - он не использует структуры данных. Рассмотрим алгоритм GCD, также нет структур данных. Вы можете говорить об алгоритме, не говоря о структурах данных, но вы не можете говорить о структуре данных, не говоря обычно об алгоритмах. Вы можете говорить о дереве, но вам понадобятся алгоритмы для вставки, удаления и т. Д.
Я думаю, хорошо, что есть различие, потому что концептуально это разные вещи. Алгоритм - это набор шагов, используемых для выполнения задачи, в то время как структура данных - это то, что используется для хранения данных, манипулирование этими данными осуществляется с помощью алгоритмов.