Princeton University - Algorithms, Part II
- Offered byCoursera
Algorithms, Part II at Coursera Overview
Duration | 63 hours |
Total fee | Free |
Mode of learning | Online |
Schedule type | Self paced |
Difficulty level | Intermediate |
Official Website | Explore Free Course |
Credential | Certificate |
Algorithms, Part II at Coursera Highlights
- 12% started a new career after completing these courses.
- 18% got a tangible career benefit from this course.
- 17% got a pay increase or promotion.
- Earn a certificate from the Princeton University upon completion of course.
Algorithms, Part II at Coursera Course details
- This course covers the essential information that every serious programmer needs to know about algorithms and data structures, with emphasis on applications and scientific performance analysis of Java implementations. Part I covers elementary data structures, sorting, and searching algorithms. Part II focuses on graph- and string-processing algorithms.
- All the features of this course are available for free. It does not offer a certificate upon completion.
Algorithms, Part II at Coursera Curriculum
Introduction
Course Introduction
Welcome to Algorithms, Part II
Lecture Slides
Introduction to Graphs
Graph API
Depth-First Search
Breadth-First Search
Connected Components
Graph Challenges
Overview
Lecture Slides
Interview Questions: Undirected Graphs (ungraded)
Introduction to Digraphs
Digraph API
Digraph Search
Topological Sort
Strong Components
Lecture Slides
Interview Questions: Directed Graphs (ungraded)
Minimum Spanning Trees
Introduction to MSTs
Greedy Algorithm
Edge-Weighted Graph API
Kruskal's Algorithm
Prim's Algorithm
MST Context
Overview
Lecture Slides
Interview Questions: Minimum Spanning Trees (ungraded)
Shortest Paths APIs
Shortest Path Properties
Dijkstra's Algorithm
Edge-Weighted DAGs
Negative Weights
Lecture Slides
Interview Questions: Shortest Paths (ungraded)
Maximum Flow and Minimum Cut
Introduction to Maxflow
Ford?Fulkerson Algorithm
Maxflow?Mincut Theorem
Running Time Analysis
Java Implementation
Maxflow Applications
Overview
Lecture Slides
Interview Questions: Maximum Flow (ungraded)
Strings in Java
Key-Indexed Counting
LSD Radix Sort
MSD Radix Sort
3-way Radix Quicksort
Suffix Arrays
Lecture Slides
Interview Questions: Radix Sorts (ungraded)
Tries
R-way Tries
Ternary Search Tries
Character-Based Operations
Overview
Lecture Slides
Interview Questions: Tries (ungraded)
Introduction to Substring Search
Brute-Force Substring Search
Knuth?Morris?Pratt
Boyer?Moore
Rabin?Karp
Lecture Slides
Interview Questions: Substring Search (ungraded)
Regular Expressions
Regular Expressions
REs and NFAs
NFA Simulation
NFA Construction
Regular Expression Applications
Overview
Lecture Slides
Interview Questions: Regular Expressions (ungraded)
Introduction to Data Compression
Run-Length Coding
Huffman Compression
LZW Compression
Lecture Slides
Interview Questions: Data Compression (ungraded)
Reductions
Introduction to Reductions
Designing Algorithms
Establishing Lower Bounds
Classifying Problems
Overview
Lecture Slides
Interview Questions: Reductions (ungraded)
Brewer's Problem
Simplex Algorithm
Simplex Implementations
Linear Programming Reductions
Lecture Slides
Interview Questions: Linear Programming (ungraded)
Introduction to Intractability
Search Problems
P vs. NP
Classifying Problems
NP-Completeness
Coping with Intractability
Lecture Slides
Interview Questions: Intractability (ungraded)