HomeHubAdvanced data structures and algorithms lecture notes pdf