Source: https://mrcet.com/downloads/digital_notes/CSE/II Year/CS/DATA STRUCTURES using PYTHON [R20A0503].pdf