Based on the authors' market leading data structures books in Java and C++, this textbook offers a comprehensive, definitive introduction to data structures in Python by respected authors. Data Structures and Algorithms in Python is the first mainstream object-oriented book available for the Python data structures course.听 Designed to provide a comprehensive introduction to data structures and algorithms, including their design, analysis, and implementation, the text will maintain the same general structure as Data Structures and Algorithms in Java and Data Structures and Algorithms in C++.
I really liked this book. As an engineering student, it became imperative for me to study Data Structures and Algorithms. I started with Corman, but found it too dense for a first read. Since, I am quite well-versed with Python and since python reads like pseudo-code, I decided to find a book that teaches DSA with Python. This book fits the bill perfectly. And one of the better parts about this book as opposed to the other Python-DSA book that I read, is that the code-examples, here, use proper variable-names - which makes reading the code much more effortless. That is a real problem in the book, Mastering Basic Algorithms in Python Language.
Also, since the same authors have also written Data Structures and Algorithms in C++, I read the two books simultaneously. Due to similar book-structure, it became quite easy for me to quickly learn the same concepts in both the languages - which trust me, if you have to do yourself, takes too much time.
As you can tell from my start and finish dates this is not a book for the faint of heart nor one lacking in time. I will admit (under pressure) that my under-graduate days in Computer Science is decades ago but I still enjoy keeping up with ongoing developments in Software development platforms - that and it does keep the old brain working.
Having made those statements I assigned 5 stars to the book as I found the book started out gently in the types of data structures (and code samples) and proceeded quickly to more complex examples. And even then the sample code and verbal descriptions of the algorithms are comprehensible (though they do get complex at times). As other reviewers noted - this would be a great reference book that one would return to time and again.
I've been reading this book for 4 years now. Usually, Algorithm books are not the type of book that you read from front-to-back in one seat. It works more like a reference book. You are curious about Binary Search Tree, you get the chapter, read the theory, understand the concepts, and try to implement it. The book has all this experience, from theory and concepts to Python implementations and exercises to practice. I'm not sure if the authors use the Python best practices or clean code. Some bits are just difficult to understand.
I am using this textbook to teach Data Structure in my class and I am really happy with the structure and the contents of the book. There are few typos and bit of mistakes in the source code, but they are quite minor and have no impact on the overall quality of the book. Those tiny bit of errors will be addressed in the next edition of the book.
If you're familiar with Python, this is probably the best book for introducing yourself to data structures and algorithms. The code examples are well styled, written, and documented, which makes it easier to bridge the gap between concept and implementation. I used the code examples for the data structures to help me solve algorithms problems from other books or courses.
The diagrams are outstanding and allow very clear visualizations of what's happening in as an algorithm is running. The most notable chapters for me are the ones on recursions, priority queues, search trees, and graph algorithms.
All in all, a book worthy of every Pythonista's bookshelf!
Okay, at first I liked the book for being pythonic. But it's not really going further than native implementation of __iter__ protocol. Code works, but lacks any test cases, which is ridiculous. The biggest problem, however, is how material is being explained and how abstractions are being used. Do we really need 3 classes to implement a Binary tree? If you're trying to grasp a fundamental understanding of the topic, it's very annoying to waste your time on understanding ABC that is used to implement a data structure instead. Explanations and general structure are from mediocre to bad. Recursion is plain bad, so the chapter could be skipped altogether. Chapters 7 and 8 are suffering from non-linear presentation. How algorithms and data structures should be taught: first comes the intuition on how things work paired with visual aids appropriate to the medium, then comes the code. If in general this book follows this rule, there are deviations inside the pattern: illustration from the page 301 is being used to explain important concept at page 309. It's not the only issue, things like that are everywhere in the book. Visual aids are not being supported by a proper explanations and forcing you to go back and forth in the book. Frustrating. It's an okay book, but should be NEVER ever used as a sole resource. Honestly, video is just better medium to teach algorithms if visual aids are using correctly. Some courses will teach you more in 2 hours, than this book in 60 pages and in a more comprehensive manner.
I use it as reference material. I may not have read it end to end but I find myself leafing through it almost every day. This book has great illustrations of algorithmic processes that make them intuitive.
This book has a lot of problems. Some of them are listed here:
* Simple concepts are presented as complicated as possible. * Despite the book size, a lot of details missing. You need to google frequency. * The book is wordy and sometimes confusing. * Authors seem to want to impress you. * The codes are not idiomatic python. * The book structure is terrible. * And most importantly, the book price is ~$170. There are much better books available at way lower prices. You also can find much better content free on youtube.
Four stars is about the most I (seem feel I) can give an IT tech book - where are the truly great tech books?
This book is deep and well thought out, with its first chapter being more in depth than the 10-lesson 'starting python' course I took. This is a good book.
The book begins with a simple intro into Python syntax and concepts and then goes into the implementation of most popular algorithms. Think of this book as CLRS for Python. One of my favorite books in this section.
Considering the book is 2013 and could be quite outdated, I find that it's held up pretty well. Well, that makes sense since it's about algorithms. Some of the vocabulary wasn't really "defined" though. The book could improve on that part.
Data structures like Red-Black Trees and Skip Lists are sometimes not taught in university's courses鈥攁t least not in mine鈥攅ven though they鈥檙e significant for Information Retrieval and Operating Systems. This book ended up being a huge help for learning them on my own!
A good introduction to computer Algorithms along with some practical applications and concise implementations in Python. At the end of the book computer memory and caching is also explained in brief.
Comprehensive book on algorithms and their use in python as well as uncovered a lot of python internals regarding data types. But, the book is not for pleasure reading it's more like manual for python data structures and algorithms. I wouldn't read it from beginning to the end, but better pick chapters that you are most interested.