https://medium.com/@AbuBakarHasan/a-beginners-guide-to-data-structures-and-algorithms-from-easy-to-hard-4957a73e7138