Basic data structures and algorithms in Python