

Buy anything from 5,000+ international stores. One checkout price. No surprise fees. Join 2M+ shoppers on Desertcart.
Desertcart purchases this item on your behalf and handles shipping, customs, and support to Cote D' Ivoire.
For anyone who has ever wondered how computers solve problems, an engagingly written guide for nonexperts to the basics of computer algorithms. Review: Best overall "motivated learner" book on Algorithms - 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: Pros 1. 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). Cons 1. 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. Review: An excellent introduction to algorithms - This is an interesting book. It's halfway between the typical science-book-for-non-scientists and a textbook. Unlike most science books for non-scientists, the author doesn't dumb down the material for the reader; he assumes you're intelligent and are willing to work a bit to understand what he says (including following mathematical arguments with actual equations). In fact, I only bought the book because the author was Cormen; I was familiar with his algorithms textbook (Introduction to Algorithms, better known as CLRS after the initials of the authors), which is absolutely authoritative, so I knew the material would be correct. (Having Julie Sussman, P.P.A., as the proofreader was also a big plus.) Unlike CLRS, this is not a textbook, but rather kind of a "pre-textbook". Its purpose is to whet your appetite, to teach you enough about the material so that you can decide if you want to study it more formally or not. If so, you can go straight to CLRS. If not, at least you'll have learned something. The people who will get the most out of this book are self-taught programmers who have never taken a course in algorithms but who nevertheless need to know this material. (And believe me, if you're a programmer, you _do_ need to know this material, whether you realize it or not.) Non-programmers may find that the book is too technical (especially the last few chapters, which get fairly heavily into topics like number theory and reductions of NP-complete problems). Despite this, I can think of no other book that provides such a clear introduction to the field of algorithms with so few prerequisites. Cormen's explanations are lucid and interesting throughout, and the topics are motivated by real-world applications which often don't find their way into textbook descriptions. Algorithms are described using a kind of pseudocode which is similar to that found in CLRS, but with a lot more written exposition. Overall, this is a great book if you're interested in the topic, or think you might be. Personally, I greatly prefer this kind of "pre-textbook" approach to the usual popular science book approach, and I hope that the example this book sets encourages more textbook writers to write such books.
| Best Sellers Rank | #1,559,133 in Books ( See Top 100 in Books ) #141 in Computer Algorithms #456 in Programming Algorithms |
| Customer Reviews | 4.4 out of 5 stars 126 Reviews |
A**N
Best overall "motivated learner" book on Algorithms
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: Pros 1. 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). Cons 1. 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.
M**R
An excellent introduction to algorithms
This is an interesting book. It's halfway between the typical science-book-for-non-scientists and a textbook. Unlike most science books for non-scientists, the author doesn't dumb down the material for the reader; he assumes you're intelligent and are willing to work a bit to understand what he says (including following mathematical arguments with actual equations). In fact, I only bought the book because the author was Cormen; I was familiar with his algorithms textbook (Introduction to Algorithms, better known as CLRS after the initials of the authors), which is absolutely authoritative, so I knew the material would be correct. (Having Julie Sussman, P.P.A., as the proofreader was also a big plus.) Unlike CLRS, this is not a textbook, but rather kind of a "pre-textbook". Its purpose is to whet your appetite, to teach you enough about the material so that you can decide if you want to study it more formally or not. If so, you can go straight to CLRS. If not, at least you'll have learned something. The people who will get the most out of this book are self-taught programmers who have never taken a course in algorithms but who nevertheless need to know this material. (And believe me, if you're a programmer, you _do_ need to know this material, whether you realize it or not.) Non-programmers may find that the book is too technical (especially the last few chapters, which get fairly heavily into topics like number theory and reductions of NP-complete problems). Despite this, I can think of no other book that provides such a clear introduction to the field of algorithms with so few prerequisites. Cormen's explanations are lucid and interesting throughout, and the topics are motivated by real-world applications which often don't find their way into textbook descriptions. Algorithms are described using a kind of pseudocode which is similar to that found in CLRS, but with a lot more written exposition. Overall, this is a great book if you're interested in the topic, or think you might be. Personally, I greatly prefer this kind of "pre-textbook" approach to the usual popular science book approach, and I hope that the example this book sets encourages more textbook writers to write such books.
J**N
Thanks For This Book
Upon un-boxing, I looked at the back cover photo and thought, "uh-oh, another Ivy League professor who thinks everything is intuitively obvious, and disrespects you if it's not." One of the reasons more Americans don't go into computer science IMHO is that the basics are NOT intuitive, and turning your class into a boot camp - with programming assignments made purposely too time consuming - does nothing but hinder....oh, wait, this is a book review, I digress. Anyways, this book is NOT that, it's a good book. For example, chapter 2 goes from assuming no knowledge of computer programming to asymptotic notation, and it's actually understandable! I've taken an algorithms class, and although able to muddle through it, I only understood about 1/4 the theoretical part. This book helps fill that void and I have renewed confidence that I will be able to understand the more theoretical aspect to algorithms the next time I encounter them (I'm back in school studying CS at night). I've read this book once, from cover to cover - retaining about 1/2 of it. Now it's a second time with highlighter and notes so that I can retain the book in its entirety. It's not really a book for the "we're all going to be cyborgs, algorithms rule the world" pop-computing crowd, and I suspect it would take a gifted reader to understand this book if he or she truly had no clue about programming. A computer program algorithm is a different way of looking at the world than most folks are used to. But in the first chapter - presumably the one somebody would thumb through at the book store - the author actually points the reader to a less technical book if this one seems too technical. This book would be an awesome supplemental text for a class involving logic, critical thinking, scientific thinking, mathematical thinking, or an undergraduate computer science course on algorithms. The only thing I thought missing were some exercises so I could test that I truly mastered the chapter. Would be cool if there was a website related to the book that had worked out examples to replicate the text so I'd have to actively duplicate what the book explains.
J**.
Not Quite at the Level of Cormen's Algorithms Textbook
I studied from the excellent textbook "Introduction to Algorithms" by Thomas H. Cormen, Charles E. Leiserson, and Ronald L. Rivest in Professor Hubscher's COMP-0527 Advanced Design and Analysis of Algorithms three hour course in the Fall Quarter of 1999 at Auburn University. I made my first B in my computer science graduate school career in the course. I was also taking Professor Carlisle's COMP-0520 Theory of Formal Languages I course in which I made an A and either Professor Lim's or Baskiyar's COMP-0600 Advanced Systems Programming which also garnered me an A. My cumulative GPA dropped from 4.0 out of 4.0 to 3.91 that quarter. I ended my Master of Software Engineering career at Auburn on August 14, 2000 with a 3.880 GPA and my Computer Science Doctor of Philosophy at Auburn on December 16, 2005 with a 3.871 GPA. Now back to Cormen's "Algorithms Unlocked". For someone who is sometimes theoretically challenged in computer science like me, the level of mathematical sophistication or unsophistication depending on your computer science theoretical background of the little book makes it an excellent introduction to algorithms covered in more depth in the large and somewhat more intellectually formidable algorithms textbook. The book is not exactly a watered down version of the original textbook and offers some new insights not afforded in the more massive tome. Overall I would recommend both the little and big algorithms books to all serious students or practitioners of computer science and software engineering. Also, somewhat mathematically sophisticated scientists in other fields could benefit from reading "Algorithms Unlocked".
M**K
Insightful and lucid
When I took the grad level Analysis of Algorithms course at the University of Florida, I did not have a background in computer science. I had an undergraduate degree in electronics and my graduate level course work was split between hardware and software. I approached the subject with apprehension (and some awe). The book I used for the class was the other book by Cormen and his friends, fondly called the CLRS. Most of the time the mathematics in the book was too much for me; I had to spend many a sleepless night to figure stuff out. But I still loved the book. Now that I am mid-way through Algorithms Unlocked, I wish I could have bought this book back then (sadly, it came out only this year, i.e. 2013). The algorithms are explained in English, not just mathematics or pseudo-code, and I found all the chapters to be perfect for a beginner. If you are someone who is interested in algorithms and has at least some background in mathematics, this is the book for you. Even if you do not have the requisite background in maths, you can use the internet to learn the basics of what is required. Dr. Cormen has done an outstanding job here, having written the perfect introductory book which can then lead to his other classic, the CLRS book.
B**E
Increased my appetite for CLRS
I’ve already had in my possession “Introduction to algorithms” aka CLRS. But without being a student it’s overwhelmingly big chunk, beautiful, but big. After “Algorithms unlocked” I just want to dive deeper.
A**R
I would be interested in algorithms more if I read ...
I would be interested in algorithms more if I read this book first, not CLRS. The book's approach is easier to understand for beginner. It covers almost basic algorithms, helps you understand concepts and application. Then if you wan to go further, you can go with CLRS. After reading this book, the CLRS is easier to read. But if you only want to know about algorithms, and don't to go deeper, this book is enough for you.
S**A
I unlocked algorithms!
I am a high school student and intend to pursue computer science in college. I knew that familiarizing myself with computer algorithms was the next step in my computer science career and heard that this book is a great introduction to them. At times, the material was a bit confusing and complex for me, but the analogies and diagrams always kept me on track. I agree with James in that some online exercises would be very helpful in ensuring that I grasped the concepts at the end of each chapter. Overall, I heartily recommend this book for those who are curious about the various applications of computer algorithms.
D**U
Good book for anyone looking for a brief intro to ...
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 .
ユ**4
入門書として素晴らしい
アルゴリズムと言えば『CLRS』ですが、1000ページを超えているので、『CLRS』の著者の一人が書いていて、ページ数も200強とかなりお手頃な本書を手に取りました。 [本書を読む前の私の知識レベル] - 英語の読み書きは流暢 - プログラミングは上級レベル(必然的に、キューやスタックなどのデータ構造も知っている) - アルゴリズムは初級レベル(O(N)やO(log(N))などは知っており、ソート一つにしても様々なアルゴリズムがあることは知っているが、それらの具体的なアルゴリズムは全く知らない。NP困難うんぬんも名前しか知らない。アルゴリズムに関する本も読んだことがない) - 数学は中級レベル(理系大学院卒レベル。グラフ理論も基礎的なことは知っており、DFS、BFS、Union-Findやダイクストラ法くらいは書いたことがある) 全ページを読み、全てのアルゴリズムをC++で実装しましたが、ちょうど14日で読了となりました。おそらく100時間程度だと思います。 本書は十章立てとなっており、大まかな内容は次の通りです。 1. 序論 2. 計算複雑性理論(O(N)などの表記の定義) 3. ソートと探索に関するアルゴリズム 4. 上に同じ 5. グラフに関するアルゴリズム 6. 上に同じ 7. 文字列に関するアルゴリズム 8. 暗号化に関するアルゴリズム 9. データ圧縮に関するアルゴリズム 10. クラスP、クラスNP、NP困難、NP完全に関する理論 二章はそれほど長くないのですが、計算複雑性理論について学んだことがない私にとっては、かなりためになりました。O記法、Θ記法、Ω記法などの定義について学ぶことができます。 三章と四章は、可もなく不可もなく、だと思います。単純ソートから始まって、最終的にクイックソートに行き着きます。 五章と六章も、同様です。動的計画法(DP)を使うアルゴリズムもあり、DPを書いたことがなかったため勉強になりました。 七章の対象は文字列です。正規表現(regex)のようなものを想定しましたが、全く違いました。扱われる問題がどれも特殊で、身の回りの応用例が思いつきません。生物学の分野に応用例があるそうですが、一般書で扱う必要があったのかは謎です。個人的には、ハッシュ関数やエラー訂正符号あたりの話が代わりに入っていると良いと思いました。 八章は、読み物としてかなり面白いと思います。やや数学色が強めですが、読み切ることをおすすめします。なぜ暗号化が(比較的)簡単なのに復号は極めて難しいのかを、数学的に証明付きで理解することができます。 九章も同様です。最後に扱われるLZWというアルゴリズムは、ご存知のgif画像ファイルフォーマットで採用されています。現在も使われるほどに実用的でありながら、実装も簡単です。 十章で一気に雰囲気が変わります。アルゴリズムの分類の話になり、全てが抽象化します。個人的にはこの本で一番面白い部分でしたが、実用性とは逸れる部分もあるので、場合によっては"A sampler of NP-complete problems"以降はばっさり切ってしまっても良いと思います。それよりも前の部分は、クラスP,NPやNP完全性などの定義があるので、読むべきです。 全体的に再帰を多用するので、再帰の勉強になります。基本的に私は再帰が好きではないのですが、効果的に再帰が使われており、正直感動しました。アルゴリズムとは直接関係ありませんが、この点はかなりの収穫でした。 説明は非常に分かりやすく、理解できないほど内容が難しいというわけでもなく、それでいて手応えがあります。 「アルゴリズムもプログラムも知っているが、正式な教育を受けたことが無い」という人に心からおすすめします。 私はその一人でしたが、理解を深めることができました。 ------------------------------ [注意したほうが良い点] ・序論によると、本書が想定する最低レベルの読者は、「数学はそれなりに分かるが、アルゴリズムについては全く知らず、プログラムを書いたことがない人」のようです。ただ、これはさすがに無理があると感じます。 ・例えば、配列を受け取るアルゴリズムは、どれも配列の長さも受け取るようになっていますが、その理由が全く説明されていません。Cを始めとする低級言語でプログラムを書いたことがあれば、長さをわざわざ指定しなければならない理由を知っているはずですが、プログラミング言語未経験者や、配列の長さを取得する関数が用意されている言語(例えばpythonのlen())しか書いたことがない人からすれば、もやもやしたまま読み進めることになると思います。 ・ところどころ、定義がいい加減です。例えば、二分木は木の一種であると説明されますが、木の定義がなく、そもそも二分木は木ではなく根付き木の一種です。 ・アルゴリズムについて全く知らない人にとっては、ややレベルが高いと思います。初心者はおそらく初めから置いていかれます。数学が苦手な人も同様。 ・アルゴリズムは全て擬似コードで書かれています。現実のプログラミング言語でのサンプルコードのようなものは一切ありません。アルゴリズムを実際に使いたい場合は、自分で実装しなければなりません。
J**H
Difficult to read
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.
P**O
"Antipasto" del pantagruelico CLRC
Il libro, che ho appena ricevuto, mi sembra veramente divertente, istruttivo, brillante.
O**R
Un excellent contenu et une posture agaçante
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é » !
Trustpilot
1 day ago
2 weeks ago