Для решения каких задач тебе нужен именно Java?
Для решения каких задач тебе нужен именно Python?
Язык программирования - не цель обучения, а всего лишь инструмент для записи найденного способа решения задачи (т.е. алгоритма) в понятном компьютеру виде. Инструмент, удобный только для определённого круга задач. Именно потому языков программирования так много: разные задачи - разные инструменты.
Способы же решения задач от языков программирования никак не зависят. И для того, чтобы научиться решать программистские задачи, изучают не языки программирования, а само программирование.
P.S. Java с большим со скрипом, но подходит для изучения программирования. Python не подходит для этого совершенно. Но намного эффективнее для обучения тот язык, который используется в выбранном тобой учебнике программирования - если ты всё же будешь его читать.
P.P.S. "Грокаем алгоритмы" - не учебник, а поверхностный научпоп.