Opa, tudo beleza? Então, vou falar um um pouco sobre cada um.
Estrutura de dados, como o próprio nome sugere, são formas de se organizar e manipular os dados, essas diferentes formas são aplicadas dependendo do contexto (por exemplo, em determinado problema uma estrutura do tipo Fila atende melhor do que do tipo Pilha), cada um tem suas particularidades, além de que estão presentes em programas do cotidiano de um programador, como, por exemplo: Serviços de Mensageria como o Kafka (Fila), callstack do JS (Pilha), entre tantos outros.
Já os algoritmos, pode-se dizer de forma grosseira que são maneiras de trabalhar com as estruturas, por exemplo: algoritmos de busca e ordenação. Existem inúmeros cenários onde uma busca (ou ordenação) deve ser feita da forma mais rápida e performática possível, por isso, como programador, é importante ter um conhecimento prévio desses algoritmos. Um bom exemplo de aplicação de algoritmos são os aplicativos de mapas, onde eles calculam de maneira super rápida o melhor trajeto para determinado local, para isso são utilizados algoritmos para estruturas de grafos.
Sei que foi uma explicação bem superficial, mas espero que tenha sido claro e que tenha te dando um incentivo nesse ponto kkkk. É isso, tmj!