https://ecotrialbook.life/youlibr-data-structures-and-algorithms-in-java-6th-edition-272724