Algorithms Unlocked by Thomas H. Cormen (PDF)

4

 

Ebook Info

  • Published: 2013
  • Number of pages: 238 pages
  • Format: PDF
  • File Size: 2.50 MB
  • Authors: Thomas H. Cormen

Description

For anyone who has ever wondered how computers solve problems, an engagingly written guide for nonexperts to the basics of computer algorithms.Have you ever wondered how your GPS can find the fastest way to your destination, selecting one route from seemingly countless possibilities in mere seconds? How your credit card account number is protected when you make a purchase over the Internet? The answer is algorithms. And how do these mathematical formulations translate themselves into your GPS, your laptop, or your smart phone? This book offers an engagingly written guide to the basics of computer algorithms. In Algorithms Unlocked, Thomas Cormen—coauthor of the leading college textbook on the subject—provides a general explanation, with limited mathematics, of how algorithms enable computers to solve problems.Readers will learn what computer algorithms are, how to describe them, and how to evaluate them. They will discover simple ways to search for information in a computer; methods for rearranging information in a computer into a prescribed order (“sorting”); how to solve basic problems that can be modeled in a computer with a mathematical structure called a “graph” (useful for modeling road networks, dependencies among tasks, and financial relationships); how to solve problems that ask questions about strings of characters such as DNA structures; the basic principles behind cryptography; fundamentals of data compression; and even that there are some problems that no one has figured out how to solve on a computer in a reasonable amount of time.

User’s Reviews

Reviews from Amazon users which were colected at the time this book was published on the website:

⭐I am reading lot of algorithms books lately due to rekindled interest (the last time I am this motivated is during my high school days!) and the common advice is to read CLRS (C for Cormen) but the book is a 500 pound gorilla and it is neck deep in detailed Math. Imagine my delight when I stumbled on “Algorithms Unlocked” by Cormen – I call this book Baby Cormen. My background is in software engineering and I am paying my dues for 10+ years. I like math but am not in touch with it for many years; though I am currently taking steps to remedy it. So that’s the context. Here goes my review:Pros1. It has a section on “Algorithms on Strings”. Out of many books that I perused (Algorithms in a nutshell, Skiena, Eva Tardos etc.), this book, CLRS, Algorithms by Sedgwick has a section on Strings. There are dedicated books on String algorithms but “string problems” appear practically in almost every software engineer’s career that I think any general algorithms book should cover a basic portion of it. This one does.2. Chatty but neither boring nor tedious. It uses enough words to convey the concept efficiently.3. It contains math for sections on complexity but algorithm concepts are supported with pictures, sample algorithm runs. One just needs to follow logical arguments as it is explained.4. All the chapters except last few pages in chapter 9, 10 are gems.5. The length of the book is ~222. This cannot be overstated. The faster u reach towards the end of the book the better you will feel about yourself and the more you will like to finish it.6. Pretty good paper quality and print. Love this about MIT press.7. Price is cheap.8. No exercises. Yes this is a good thing actually. It would have affected the flow of the book. If you need exercises then go to Big Cormen (CLRS).Cons1. Typos/Errors. 14 when I counted. I actually thought it cannot have any because some reviewer here said it was copyedited by someone who is a stickler for perfection so I didn’t bother to check the errata page (my bad but only 14 errata’s is still impressive) until I stumbled on a possible typo (it turns out it is not) and tried to contact the author by going to the book’s website. One should make sure to correct it in the book before reading.2. Chapter 9 – section on LZW compression/decompression could have been little clearer. Chapter 10 – section on Hamiltonian cycle to Hamiltonian path reduction, subset sum reduction could have been little clearer because the explanation had more gaps in logic than usual. The author did say in the preface that he couldn’t control getting into more details near the very end of the book but I felt the explanation was unclear because it is rushed than more technical details are employed.All in all this is a solid book that treats you as an intelligent human being than a space alien or a brick.

⭐Admittedly, I’m not finished with it yet & may revise this review later on… So far I’ve read up through the Sorting chapters.As stated in other reviews & in the book’s intro, the author assumes no prior programming knowledge.It’s confusing to consider Arrays as starting a 1 & having to add/subtract everywhere, but ok I can deal with it…What wasn’t clear at purchase time was the assumption of familiarity with math at let’s say “Algebra II” or pre-calc levels.If you don’t understand or remember how to deal with factorials, polynomials, exponents & logarithms, you’ll need to look those up.These are not particularly difficult or high-level, but my last prolonged exposure to these concepts was more than a decade ago.I do appreciate the need to keep the concepts abstract enough to apply across various applications, but it would be nice to see some concrete implementation. I’d have a much easier time following code examples in a language/syntax I’ve seen more recently.I’m considering the “Algorithms 4th Ed” book by Sedgewick & Wayne for that reason: practical application w/examples in Java.Modern programming best practices described in books like “The Pragmatic Programmer” or “Code Complete” also clearly emphasize the need to use unique/meaningful names for variables and functions so that people can easily follow your work. It also helps YOU to follow your own work. This book instead takes you back to math class where everything is a meaningless jumble of alphabet soup – “x,y,z,q,p,r,a” – and you have to constantly bounce back & forth (sometimes over several pages) to keep track of what’s what.Which example gives you a better idea what’s going on?:sortedBooksArray[0] = unsortedBooksArray[x]… OR …A[q-1] = R[p]Yes, algorithms should be abstract, but if the goal is to explain them clearly they need to first be presented in a concrete way.This is why so many people hate & don’t understand math – those who love & understand it fail to describe the practical uses for it in understandable terms. The notation & abstraction work against the stated goal of making algorithms more accessible.Perhaps that’s by design, because I’m going to wind up re-writing the psuedocode with my own examples to gain a better understanding. This weekend I will have stacks of books strewn about the living room while I attempt to implement QuickSort for real, and will thereafter come up with some scenarios where I can implement it in code myself. But in that case, I probably could’ve gotten the same effect from an online tutorial…So far, it’s not a bad book – I just haven’t really learned anything practical, or that I didn’t already know from other online sources that present the topic in a more understandable manner.

⭐I bought this on the recommendation of a friend – I have the very famous ‘intro to algorithms’ book but haven’t had time to dig in since it’s a massive tome and wanted something more concise. This however might be a little too far in the opposite direction: I would have preferred to see things in code or pseudocode. The examples also start loops at 1, which for me is just an annoyance since I know better, but I imagine this may cause issues for the novice java/c/c++ programmer who misses the caveat in the early chapters.Perhaps it is my fault for not previewing the book before purchasing

⭐As a software engineer of a decade who never done computer science at uni and doesn’t work with algorithms on a daily basis, this was a fantastic introduction to algorithms and helped scratch a theoretic itch.

⭐Best book for novice

⭐After seeing all the positive reviews, I had high hopes for this book but didn’t enjoy reading it at all. The chapters are dull and dry. Lots of paragraphs that are hard to read and make sense of. Few pictures and even those black and white pictures don’t have numbers; so, sometimes it is hard to know which picture the author is talking about.The code examples are not great either. The indexes of arrays start at 1 to make it easier to understand for non-programmers but makes it harder for programmers, and yet it is highly mathematical and abstract even for me as a programmer. I find it hard to believe a non-programmer can read this book and make sense of most of it.

⭐L’auteur de ce livre est évidemment le Cormen de Cormen, Leiserson, Rivest et Stein [CLRS], mais au lieu de 1300 pages cet ouvrage en fait 240. Il joue donc dans la catégorie des livres d’introduction à l’algorithmique et il est excellent dans ce rôle. Même introductif, cet ouvrage reste suffisamment précis, et la réduction de volume s’opère plus par une sélection des sujets que par une perte de finesse d’analyse. Il est comparable en cela à d’autres ouvrages introductifs comme ceux de Baase ou de Levitin, mais en diffère plus par les sujets sélectionnés que par le traitement de ces sujets. Je ne me prononcerai pas sur la pertinence des sujets sélectionnés par cet ouvrage et les autres qui jouent dans la même catégorie. Tous ont leur logique et il est très probable que chaque enseignant en algorithmique opèrera sa propre sélection. Je recommande donc la lecture de cet ouvrage sans réserve sur le fond.Pourquoi les étoiles en moins alors ? Malheureusement l’auteur s’est enfermé dans la posture énervante de rédiger un teaser pour CLRS. Il est normal de renvoyer à CLRS pour les sujets non traités, mais il arrive trop souvent, à chaque chapitre en fait, que l’auteur renvoie à CLRS pour les sujets traités, et pas pour des raffinements qui n’auraient pas leur place dans une introduction, mais pour des éléments qui y ont toute leur place comme la bibliographie ou l’histoire des algorithmes décrits. Introduire un lecteur à l’algorithmique c’est aussi guider ses premiers pas dans la bibliographie et lui expliquer un petit peu comment se sont développées les idées dans ce domaine ; ça ne peut pas se réduire à « allez-voir le livre sacré » !Good book for anyone looking for a brief intro to algos but not recommended . It is complete in it self but as im doing btech cs it’s not what we need. Better one would be the CLRS .

Keywords

Free Download Algorithms Unlocked in PDF format
Algorithms Unlocked PDF Free Download
Download Algorithms Unlocked 2013 PDF Free
Algorithms Unlocked 2013 PDF Free Download
Download Algorithms Unlocked PDF
Free Download Ebook Algorithms Unlocked

Previous articleTheoretical Studies in Computer Science by Jeffrey D. Ullman (PDF)
Next articleDigital Geometry: Geometric Methods for Digital Picture Analysis (The Morgan Kaufmann Series in Computer Graphics) 1st Edition by Reinhard Klette (PDF)