vii contents and organization the for this book are organized to provide pedagogical path that starts with the basics of python programming and object-oriented design we then add foundational techniques like algorithm analysis and recursion in the main portion of the bookwe present fundamental data structures and algorithmsconcluding with discussion of memory management (that isthe architectural underpinnings of data structuresspecificallythe for this book are organized as follows python primer object-oriented programming algorithm analysis recursion array-based sequences stacksqueuesand deques linked lists trees priority queues mapshash tablesand skip lists search trees sorting and selection text processing graph algorithms memory management and -trees character strings in python useful mathematical facts more detailed table of contents follows this prefacebeginning on page xi prerequisites we assume that the reader is at least vaguely familiar with high-level programming languagesuch as cc++pythonor javaand that he or she understands the main constructs from such high-level languageincludingvariables and expressions decision structures (such as if-statements and switch-statementsiteration structures (for loops and while loopsfunctions (whether stand-alone or object-oriented methodsfor readers who are familiar with these conceptsbut not with how they are expressed in pythonwe provide primer on the python language in stillthis book is primarily data structures booknot python bookhenceit does not give comprehensive treatment of python