Deliver to Morocco
IFor best experience Get the App
Full description not available
S**O
Good for coding newbies
For those who want to learn algorithm but only know some scripting languages or some sorts, this is definitely ideal!
R**K
Very good explanation of basic algorithms
Pros:- Very clear explanation of a complex subject.- Each chapter builds upon the previous chapters so that this is more like a class than a reference manual.- More approachable that the Sedgewick and Cormen.Cons:- The almost constant parenthetical phrases distract from the text and quickly become irritating. After page 20 I just skipped them and found that I understood the concepts more quickly.- The use of single letter variables in the code examples makes it more difficult to understand the structure of a new concept. When there are several of them, it can become confusing. (See page 207.) Why not just use descriptive variable names?There are sections that make note of how to implement certain algorithms using Python specific features, and this is very helpful, but this is first and foremost a book on algorithmic theory that happens to use Python for code examples.
V**I
For Intermediate Python Programmers Who Want to Master Basic Algorithms
Python Algorithms is of the same level as the book Pro Python by Marty Alchin,also by Apress. So warning: this is not for beginners. Especially if you arejust starting with both Python and algorithms. Experienced algorists wouldprobably find their way through the book though.So much for apologies, to use Dijsktra's words. This has been my hardest Apressso far and second reading is in order. Oh and next time, I won't be skippingthe exercices. I advise you do the same. Some are very necessary if you want tohave a good grasp of all the algorithms covered.Professor and author Magnus Lie Hetland is an experienced algorist and Pythoncoder. He promises in Chapter 1 (Introduction) to make you master basicalgorithms with Python and teach you how to create new ones. *cough* I think Imissed that latter part in the book. I only gathered that we can transform fewbasic algorithms and apply them to new problems, especially graph algorithms.It is thus important that you dont skip Chapter 5 (Traversal: The Skeleton Keyof Algorithmics) where I think the basics are found. No really, you don't wantto skip it. And while we are at it, you don't want to skip Chapter 4 (Inductionand Recursion... and Reduction) either. The idea of using reduction whensolving new problems is discussed in full in that chapter.The last chapter I want to mention is Chapter 11 [Hard Problems and (Limited)Sloppiness]. Weird but important terms used by experienced algorists arediscussed. I am talking about: solvable, tractable, P, NP, NPC, NP-hard, SAT,etc...The chapters I have not mentioned were difficult for me to understand. I wontsay more about them.You got to like author Lie Hetland for his frankness though. Dijsktra (who getschapter 9 entirely dedicated to his graph algorithm) wrote in his preface to ADiscipline of Programming: "For the absence of a bibliography I offer neitherexplanation nor apology." Here we have a different author, he writes: "Even so,I'm sure I have failed in many ways, and if you have suggestions for improvingthe book, I'd be happy to hear from you". So can I bitch a little?The discussion for most algorithms are really visual and that is beautiful...unless picturing them gets in the way. In chapter 3 (Counting 101) everythingis explained using metaphors. Sums are stories of knights jousting attournaments and algorists shaking hands at conferences. The width and theheight of binary trees are the hare and the tortoise. Ice cream cones are usedfor doubling and halving processes. Combinations and permutations are storiesof movie goers trying to get tickets.You quickly get lost in the pictures if like me you are the imaginative type.So many images, so many stories, in only 25 pages. The whole thing becomes morea distraction than an actual explanation. I felt that the author sometimesreduces the reader to hysterical despair with his ability to switch betweenstories and metaphors.I mentioned that I took one algorithm class in college. I remember we weregiven formulas, we proved them, and we convinced ourselves that they werecorrect. That's it. Don't get me wrong though, Chapter 3 is easily my favorite,but the pattern repeats itself thorough the book with never ending metaphorcompilations.All in all, if you are a Python programmer interested in algorithms, this bookis for you. It's a good read. Take your time though, don't rush the readinglike I did and you will learn a lot.
M**B
Had high hopes for this book and how it could help increase my Python skills.
Someone else appropriately posted that this book is way too verbose for its intended purpose and I whole heartedly agree.The author berates points in this book that could be explained succinctly, I recently found a web site by a Greek comp-sci undergrad who explains in very plain english how to understand the theoretical computer that every algorithmist uses as a base line.The author of the web page also explained very simply how to understand Theta, Omega, Big/Little O, tightly bound and loosely bound and so on.There is a prevalent myth floating around in the world that certain mathematical formulas, scientific concepts and statistical theories are just too esoteric and abstract to explain in real plain english. From reading Magnus book I would say that he is one of those people who chooses to continue to perpetuate that myth.I would post the link to the website but Amazon deletes web links. But search for a 'gentle introduction to algorithm complexity' and you should find it. The author of that website has a talent to explain technical concepts succinctly and understandbely, you only have to bring some programing background and motivation to understand it.By contrast in order to read and comprehend this book you have to bring an exposure to and a fetish for theory, indeed a fetish.I cant imagine what practical Python programmer or any programmer this book is geared for.I dare say that even for an advanced comp-sci majors this book will become boring very quickly either because it covers everything you *should* already know or you just want to get down to programming.Where the author could have used plain english and expanded on practical technical concepts the author instead chose to indulge in abstracting theory. A missed opportunity to bring knowledge to a larger audience, instead the author indulges in the theatrics of dedicating a whole book to complicating things.I doubt the Second Edition is any more readable.
Trustpilot
1 week ago
2 months ago