Для начала, найдите методички по высшей математике местного ВУЗа/колледжа (естественно, не для гуманитарных специальностей). Их теории будет достаточно чтобы сформировать круг знаний и конкретизировать, что же не ясно. Постарайтесь также найти учебную программу, чтобы понять, что и в каком порядке нужно изучать - часто такие пособия "подвязаны" друг на друга очень сильно.
По алгоритмам в первую очередь возьмите "Алгоритмы. Руководство по разработке" С. Скиена. Там перечислены наиболее часто используемые алгоритмы, остальное вы сможете найти по ключевым словам из книги когда возникнет необходимость. И не подходите слишком академически к изучению всего, что написано в книге. Возможно, это никогда вам не пригодиться, нужно просто знать, что оно есть и как его найти.
Обращайте внимание в первую очередь на базу, которая потребуется практически везде - теория вероятностей, линейная алгебра, основы мат. анализа.