https://medium.com/@korantengchristian/data-structures-and-algorithms-an-introductory-look-at-data-structures-3619fc664c56