欧宝娱乐

Jump to ratings and reviews
Rate this book

Data Structures and Algorithms in Python

Rate this book
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++.

768 pages, Hardcover

First published November 27, 2012

116 people are currently reading
711 people want to read

About the author

Michael T. Goodrich

29books26followers

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
68 (42%)
4 stars
59 (37%)
3 stars
28 (17%)
2 stars
3 (1%)
1 star
1 (<1%)
Displaying 1 - 23 of 23 reviews
Profile Image for Shikhar Nigam.
Author听1 book13 followers
December 4, 2013
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.
240 reviews2 followers
March 5, 2016
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.
Profile Image for TK.
99 reviews86 followers
June 10, 2020
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.
Profile Image for Setia Budi.
7 reviews25 followers
November 29, 2017
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.
Profile Image for Arwa Maiss.
126 reviews19 followers
July 13, 2021
I read this book in two weeks to refresh my knowledge of data structures and algorithms after learning Python!
Profile Image for Adler.
13 reviews3 followers
August 9, 2019
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!
Profile Image for Alex.
6 reviews2 followers
August 24, 2022
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.
Profile Image for Dipika Desaboyina.
19 reviews27 followers
June 5, 2018
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.
230 reviews3 followers
December 29, 2015
It is a useful book on algorithms. Most of the examples are very well written. However, I found it a bit heavy because of all the details.
Profile Image for Till Chen.
68 reviews12 followers
October 14, 2022
Fantastic book! A lot more lucid than the MIT CLRS book in my opinion.
77 reviews3 followers
November 18, 2022
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.
Profile Image for Strong Extraordinary Dreams.
592 reviews24 followers
June 5, 2017
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.
12 reviews1 follower
Read
August 2, 2019
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.
Profile Image for Jey The Moose.
38 reviews
April 28, 2024
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.
Profile Image for Sunny Shaban Ali.
6 reviews
March 23, 2025
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!
Profile Image for MaxMu422 Mu.
9 reviews
February 15, 2020
The book is just awesome. I do think I might need to read multiple times due to forgetness
6 reviews
October 17, 2020
Learnt DS and algorithms in C++, this book allowed me to transition to Python and review the important algorithms needed for interviews.
Profile Image for Abdulrhman Eaita.
60 reviews59 followers
February 1, 2014
i hated it totally, dunno as it's bad or it's just because we had to study it in college, but anyway, good bye my friend
1 review
July 27, 2016
need to teach ds using python
This entire review has been hidden because of spoilers.
Profile Image for Denis Nu葲iu.
60 reviews5 followers
May 23, 2021
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.
Profile Image for Yaroslav.
41 reviews1 follower
April 29, 2017
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.
Displaying 1 - 23 of 23 reviews

Can't find what you're looking for?

Get help and learn more about the design.