silju, Если вспомню ещё, допишу. Должен отметить, что просто так сходу в них врятли найдется прямое решение вашей задачи. Возможно ближе будет книга "Грокаем глубокое обучение". Она применима больше в тактическом плане, а те две - в стратегическом.
silju, чтож, вы молодец. Возможно я плохо выразил мысль, но упражнения упомянул. Конечно, практика необходима! Но без теории, она как дом, построенный на песке. Я могу посоветовать книги, которые помогут построить дом на каменном основании.
А для чего вам это нужно? Пожалуйста, отнеситесь, понимающе, но так не пойдет. Нужно начинать с основ, а потом переходить к сложным вещам. Чем обусловлена такая спешка? Готов посоветовать вам некоторые книги, но в них все разбирается основательно, нужно усердно читать их и выполнять упражнения. Пожалуйста, объясните ситуацию подробнее. Не думайте, будто я говорю, что решить ваши задачи в срок нельзя. Это возможно, при должном усердии, но в результате в голове может закрепиться каша, а не стройная система.
Лев Александров, А какой это язык? Извините если лезу не в свое дело, но какой контекст у задачи, для чего вы её решаете. Признаюсь, я заинтересовался. Может, переписать проект на более гибком языке (например на Лиспе)?
Можно попробовать повыполнять задачки из крупных трудов по программированию, таких как "Структура и интерпретация компьютерных программ" или не к ночи будет помянут "Искусство программирования" Дональда Кнута (последнее очень трудное чтиво, но там есть задачки на алгоритмы).
Ещё есть сайт Codewars.com на котором собраны тренировочные задания на куче языков.
А вообще для практики алгоритмов на реальных проектах полезно изучать экспертные системы и искусственный интеллект, там алгоритмы применяются очень широко.
Довольно интересным упражнением может стать написание реализации простого в исполнении языка программирования, такого как Forth или Lisp.