ŷ

Jump to ratings and reviews
Rate this book

Algorithms Illuminated #1

Algorithms Illuminated (Part 1): The Basics

Rate this book
Algorithms are the heart and soul of computer science. Their applications range from network routing and computational genomics to public-key cryptography and database system implementation. Studying algorithms can make you a better programmer, a clearer thinker, and a master of technical interviews. Algorithms Illuminated is an accessible introduction to the subject---a transcript of what an expert algorithms tutor would say over a series of one-on-one lessons. The exposition is rigorous but emphasizes the big picture and conceptual understanding over low-level implementation and mathematical details. Part 1 of the book series covers asymptotic analysis and big-O notation, divide-and-conquer algorithms and the master method, randomized algorithms, and several famous algorithms for sorting and selection.

226 pages, Kindle Edition

Published September 25, 2017

84 people are currently reading
955 people want to read

About the author

Tim Roughgarden

14books62followers

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
125 (57%)
4 stars
67 (30%)
3 stars
21 (9%)
2 stars
3 (1%)
1 star
3 (1%)
Displaying 1 - 20 of 20 reviews
Profile Image for Michael Driscoll.
65 reviews6 followers
December 26, 2020
This book is almost verbatim the transcripts of the lectures from the Coursera course "Divide and Conquer, Sorting and Searching, and Randomized Algorithms" of the Algorithms Specialization, sections I-VIII. That's not necessarily a bad thing, but just something to keep in mind.

On its own I'd say the book is a good textbook, but its real purpose is to be supplementary material to the Coursera lectures. The biggest caveat is that this book leaves out section IX Graphs and the Contraction Algorithm, for those details you'll need Part 2. To be fair to the author, it fits better in with the second book as it's all about graphs, but leaves out details that are helpful with the final programming assignment of the first course.

In Summary: If you want to learn Algorithms on your own, this isn't for you. If you are taking the Coursera Algorithms Specialization and find it easier to read than listen, this is a good book to get.

Also, once Roughgarden published his book he removed the suggested readings from the other Algo text books, which... I find a bit annoying. The weeks below don't line up to what you see on Coursera as originally the courses were two six-week courses as opposed to four four-week courses. Here are the other textbooks readings:

CLRS - Cormen, Leiserson, Rivest, and Stein, Introdution to Algorithms (3rd edition)
DPV - Dasgupta, Papadimitriou, and Vazirani, Algorithms
KT - Kleinberg and Tardos, Algorithm Design
SW - Sedgewick and Wayne, Algorithms (4th edition)

Week 1 (Merge Sort, Asymptotic Notation, Guiding Principles of Algorithm Analysis, Divide & Conquer Algorithms)

CLRS: Chapter 2, 3, and 4 (through Section 4.2), and Sections 28.1 and 33.4
DPV: Sections 0.3, 2.1, 2.3, 2.5
KT: Sections 2.1, 2.2, 2.4, 5.1, and 5.3-5.5
SW: Sections 1.4 and 2.2

Week 2 (Master Method, QuickSort)

CLRS: Chapter 4 (Sections 4-6) and Chapter 7
DPV: Section 2.2
KT: Sections 5.2 and 13.5
SW: Section 2.3

Week 3 (Final Thoughts on Sorting & Searching, Introduction to Graph Algorithms : Graph Representations & Minimum Cuts in Graphs)

CLRS: Chapter 9, 22 (Only 22.1)
DPV: Chapter 3 (only 3.1)
KT: Chapter 13, Sections 13.2,13.5
SW: Chapter 4, Section 4.1

Week 4 (Graph Search: Breadth-First Search, Depth-First Search, Applications: Topological Sort, Connected Components)

CLRS: Chapter 22
DPV: Chapter 3
KT: Chapter 3, Section 3.5, 3.6
SW: Chapter 4, Section 4.1,4.2

Week 5 (Dijkstra's Shortest-Path Algorithm, Data structures and how to use them, Heaps, Binary Search Trees, Balanced BSTs)

CLRS: Chapter 6,11,12,13 24 (Sections 3,4)
DPV: Section 1.5
KT: Section 4.4
SW: Section 3.3, 3.4, 4.4

Week 6 (Hash Tables: Applications and Implementation, Bloom Filters)

CLRS: Chapter 11
KT: Chapter 13 (Section 13.6)
SW: Section 3.5
Profile Image for Arun.
207 reviews64 followers
November 24, 2017
Like a big brother of "Algorithms Unlocked". Text is an almost direct transcript of video lectures which positively contributed to the flow of chapters. Felt like a perfect balance of rigor and verbal enunciation. Didn't think it could topple "Algorithms Unlocked" in narrative flow but boy it did!
Profile Image for Risto Hinno.
93 reviews2 followers
February 17, 2018
One of those books that neatly combine mathematics and computers. Good beginning to understand basics of analyzing algorithms. And of course some magic how some pretty simple solutions achieve blazingly fast running time. I like that book has supplementary materials which help to dig more deeply into subject. Also it has practical challenges (like coding) which is essential understanding what is really going on in certain algorithm.
Profile Image for Chadi Raheb.
490 reviews418 followers
May 12, 2024
این کتاب نشون میده که شما می‌تونی� استاد خفن‌تری� دانشگاه‌ه� باشین و هنوزم روش تدریستون مزخرف باشه.
1,353 reviews6 followers
August 26, 2018
I won a free copy of this book from ŷ First Reads.

This book isn't bad, but it is not accessible at least at the level the blurb lead me to expect. It is well structured building knowledge, but it has a heavy dose of theory and math. I regularly code in several languages and have taken actual classes and built some of these algorithms. I still struggled to follow some of this text. Plus book is formatted in Latex which is annoying to read.
Profile Image for Emre Ergin.
Author10 books84 followers
September 4, 2022
The fact that there is no answer key anywhere, even if you signed up to the forum for the promised solutions will leave you a jumbled order of semi introduced solutions, makes this book a bit hard to use for self study.

On the plus side, the author put the corresponding lecture videos online (in Coursera and in Youtube), which makes things so much simpler to follow. It is hard not to get influenced by the obvious enthusiasm the professor has for the content.

The content does not include that many handwaves, and most of the points introduced are also justified mathematically. That being said, this justification had a clear structure and sometimes visualization, which makes things really simple to follow. There are not that many things to memorize, if you can grasp the underlying proofs, that is.

Learned a lot. Right now, I don't have that many avenues to use the knowledge I gained from here, except maybe for Leetcode, but I am looking forward to flex my brain as a challenge, which everything in life is, to a degree.
21 reviews
August 10, 2023
Tim Roughgarden made a good job at keeping things simple on explaining the different algorithms handled in this book. However, the key behind them, the thing that allow them to outperform the classical or natural approach is not that easy.
In this book you will find a lot of food for thought and also some mathematical expressions and proof that can seem a bit intimidating. Nonethles, even I couldn't get my head around some of them, the key message is quite clear. When you write an algorithm, you probably can do better.
I am no longer writing pieces of code without thinking about performance and optimization. Surely not allways it will be worth it to invest the time in such optimizations when performance is not critical or the data to be handled is not that big. However, this thought will be at least considered.
It was not an easy book to read, but definitely worth it. I will let the knowledge sink a bit on my brain and sooner than later I will go for the next one.
Profile Image for Heather Fryling.
469 reviews4 followers
August 24, 2020
The Algorithms Illuminated series is a companion to Tim Roughgarden's series of algorithms classes on Coursera. The books contain expanded transcripts of the lectures.
I found book one extremely helpful as a reference both for the class and other classes, as it contains good pseudocode and explanations of many canonical divide and conquer algorithms. The appendices on proofs by induction and discrete probability are extremely helpful for a quick refresher. The only issue is that there are no answers provided for the practice problems.
10 reviews
September 14, 2021
Casi todos los contenidos del libro los recuerdo aún de la universidad, pero nunca está de más volver a repasarlos para entender cosas nuevas.

Ser una persona con experiencia no ha evitado que conozca nuevos tipos de algoritmos de algoritmos, como counting sort o radix sort.

Incluso por fin he entendido el Quick Sort... y me he dado cuenta de que es infinitamente más sencillo de lo que a priori parece, gracias a la fantástica redacción y amenidad de este libro.
Profile Image for Carter.
597 reviews
December 8, 2021
The word illuminated is key for this series. Much like a Medieval Manuscript, how does the accompanying artwork, help the text. The analogy is somewhat broken, since in the case of copying, at the very least, these elements are independent. Prof. Tim Roughgarden, is trying to illustrate, in diagrams, the essential insights of the subject. The presentation choices, are of much interest. Recommended.
Profile Image for Сергей Польшин.
15 reviews
April 18, 2023
Applause!

Well perfect as other books os this serie. Because of work i finish them in wrong order but it,s almost separate books.
So it
's good book about algorithms. I strongly recommend it.
Profile Image for Aayush Shrivastava.
20 reviews
December 23, 2023
Good Book for somebody who knows the basics of algorithms like computation complexity and alike. It is very much focused on different problem solving paradigms that we have like divide and conquer. Language is not very tough just in the proofs it may not becomes clear at very attempt.
Profile Image for Cormac D.
82 reviews
November 2, 2019
A great introductory textbook to the subject of computer science, i would reccomend.
Profile Image for Anthony O'Connor.
Author5 books29 followers
May 23, 2020
Solid introduction

BigO, divide and conquer. The subtle beauty of quicksort and mergesort. Modern day ABCs. Good examples. Thorough analysis without being too long winded.
28 reviews
November 15, 2020
Simple and clear. Good for jogging the basics of runtime analysis or as an introduction.
Profile Image for Vzh.
27 reviews1 follower
April 17, 2021
Great intro. Easily explains many fundamental algos (except for some *math).
Profile Image for Alessio C.
4 reviews1 follower
August 29, 2024
I broke into tears many times while reading this book.
Profile Image for Fatima.
421 reviews2 followers
July 19, 2020
Tim Roughgarden's Stanford Lectures on Coursera are amazing. This book covers the first part of the his lectures on Coursera. It's very important to understand the intuition for why an algorithm is correct. It is equally important to know the running time analysis of an algorithm. CLRS is the computer science Bible for that but it's dry AF (don't get me wrong, I adore CLRS). Tim's approach is definitely more intuitive, friendlier and makes the process more enjoyable :)
1 review
Currently reading
August 22, 2018
I hope to really like this book.
This entire review has been hidden because of spoilers.
Displaying 1 - 20 of 20 reviews

Can't find what you're looking for?

Get help and learn more about the design.