Full description not available
I**T
could have been a lot better
Pros:* It is free on [...]* One of the very few books on data structures and algorithms using Python* Problems have multiple solutions, which are timed and discussed in terms of complexity/cost* Experiments a made to prove that a given type has certain time complexityCons:* The naming of variables and functions follows Java's style, not Python's style. The correct style is on [...] That teaches newbies the wrong habit and annoys experienced Python developers.* Big-O notation is defined incorrectly as "Order of magnitude" and called "a useful approximation to the actual number of steps in the computation" in the chapter on Algorithm Analysis. See wikipedia for a correct definition. You can't be teaching algo analysis and give a wrong definition of Big-O.* Recursion is defined incorrectly - "Recursion is a method of solving problems that involves breaking a problem down into smaller and smaller subproblems until you get to a small enough problem that it can be solved trivially". The above describes "divide and conquer", not "recursion".* Class definitions follow the syntax for "old-style" classes. Everyone moved to "new-style" classes a long time ago.* Sometimes even their "best" solution is not very good and/or does not take advantage of existing Python functionality. For example the Anagram Detection Example in the chapter on Algorithm Analysis - the last solution is counting the number of character occurrences by looping. This is inefficient. Just use collections.CounterOverall it's an OK intro, but not particularly in-depth and the Cons I've listed are serious drawbacks imho.
Trustpilot
1 day ago
2 months ago