thanks for choosing data structures and algorithms with python this text was written based on classroom notes for two coursesan introductory data structures and algorithms course and an advanced data structures and algorithms course the material contained in this text can be taught in two semesters the early in this text are intended as an introductory text for data structures and algorithmswhile the later cover advanced topics that are suitable for the second course in data structures and algorithms the python language is used throughout the text and some familiarity with python or some other object-oriented language is assumed howeverthe first contains python primer for those coming from different language background this text serves well as follow-on text to python programming fundamentals by kent lee and published by springerbut does not require you to have read that text in this text the next steps are taken to teach you how to handle large amounts of data efficiently number of algorithms are introduced and the need for them is motivated through examples that bring meaning to the problems we face as computer programmers an algorithm is well-defined procedure for accomplishing task algorithms are an important part of computer science and this text explores many algorithms to give you the background you need when writing programs of your own the goal is that having seen some of the sorts of algorithms presented in this textyou will be able to apply these techniques to other programs you write in the future another goal of this text is to introduce you to the idea of computational complexity while there are many unique and interesting algorithms that we could exploreit is important to understand that some algorithms are more efficient than others while computers are very good at doing calculations quicklyan inefficient algorithm can make the fastest computer seem very slow or even make it appear to come to halt this text will show you what can and cannot be computed efficiently the text builds this idea of efficiency from the most basic of facts giving you the tools you will need to determine just how efficient any algorithm is so you can make informed judgements about the programs you write this copy belongs to 'acha