Начни с классики: "Алгоритмы. Построение и анализ" от Кормена. Эта книга охватывает почти всё: от базовых структур данных до сложных алгоритмов. Также рекомендую "Грокаем алгоритмы" от Бхаргава для простого и наглядного погружения. А еще нашла книгу "Competitive Programmer’s Handbook" от Antti Laaksonen — я ее не читала, но название говорит само за себя, возможно тебе будет полезно
По поводу Лекций ИТМО и Иннополиса — это хороший выбор! Чтобы их структурировать, попробуй пройтись по уровням сложности:
Начальный уровень: основы алгоритмов, жадные алгоритмы, динамическое программирование.
Средний уровень: графы, теории чисел, строковые алгоритмы.
Продвинутый: математические основы (теория вероятностей, линейная алгебра), геометрия.
Параллельно смотри курсы на CS50, Coursera, или на YouTube вроде Errichto и WilliamFiset — у них отличная структура