Structuring data and building algorithms - Ian (McGraw-Hill, 2002)