Algorithms Illuminated (Part 2): Graph Algorithms and Data Structures

Algorithms Illuminated (Part 2): Graph Algorithms and Data Structures

  • Downloads:5008
  • Type:Epub+TxT+PDF+Mobi
  • Create Date:2021-06-28 09:54:00
  • Update Date:2025-09-07
  • Status:finish
  • Author:Tim Roughgarden
  • ISBN:0999282921
  • Environment:PC/Android/iPhone/iPad/Kindle

Summary

Algorithms are the heart and soul of computer science。 Their applications range from network routing and computational genomics to public-key cryptography and machine learning。 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 for anyone with at least a little programming experience。 The exposition emphasizes the big picture and conceptual understanding over low-level implementation and mathematical details---like a transcript of what an expert algorithms tutor would say over a series of one-on-one lessons。 Part 2 covers graph search and applications, shortest paths, and the usage and implementation of several data structures (heaps, search trees, hash tables, and bloom filters)。

Download

Reviews

Heather Fryling

This whole series is fantastic for those wanting to gain a deep understanding of algorithms。 The one drawback is that there are no solutions for most of the problems。

Anthony O'Connor

Solid intro。Graphs and shortest paths。 Heaps, binary search trees and hash tables。 Fundamental。 Well explained。 There is a widespread misapprehension that Djikstra’s shortest path algorithm for directed weighted graphs is O(n^2)。 The author clears this up。 Well written with good examples。

Michael Driscoll

Very similar to Part 1, this book is almost verbatim the lectures from the Coursera course "Graph Search, Shortest Paths, and Data Structures" of the Algorithms Specialization, sections IX-XVI。 I don't just mean the lecture notes, but what the Professor/Author speaks in the videos。 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。 This book does cont Very similar to Part 1, this book is almost verbatim the lectures from the Coursera course "Graph Search, Shortest Paths, and Data Structures" of the Algorithms Specialization, sections IX-XVI。 I don't just mean the lecture notes, but what the Professor/Author speaks in the videos。 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。 This book does contain section IX Graphs and the Contraction Algorithm, which are covered in the first Coursera course even though they really fit better in this book。 Basically if you're taking the Coursera series, get both books as this one will help with the final programming assignment。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, AlgorithmsKT - Kleinberg and Tardos, Algorithm DesignSW - 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。4DPV: Sections 0。3, 2。1, 2。3, 2。5KT: Sections 2。1, 2。2, 2。4, 5。1, and 5。3-5。5SW: Sections 1。4 and 2。2Week 2 (Master Method, QuickSort)CLRS: Chapter 4 (Sections 4-6) and Chapter 7DPV: Section 2。2KT: Sections 5。2 and 13。5SW: Section 2。3Week 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。5SW: Chapter 4, Section 4。1Week 4 (Graph Search: Breadth-First Search, Depth-First Search, Applications: Topological Sort, Connected Components)CLRS: Chapter 22DPV: Chapter 3KT: Chapter 3, Section 3。5, 3。6SW: Chapter 4, Section 4。1,4。2Week 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。5KT: Section 4。4SW: Section 3。3, 3。4, 4。4Week 6 (Hash Tables: Applications and Implementation, Bloom Filters)CLRS: Chapter 11KT: Chapter 13 (Section 13。6)SW: Section 3。5 。。。more