- Level Professional
- المدة 63 ساعات hours
- الطبع بواسطة Princeton University
-
Offered by
عن
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.الوحدات
Course Introduction
1
Videos
- Course Introduction
2
Readings
- Welcome to Algorithms, Part II
- Lecture Slides
Undirected Graphs
1
Assignment
- Interview Questions: Undirected Graphs (ungraded)
6
Videos
- Introduction to Graphs
- Graph API
- Depth-First Search
- Breadth-First Search
- Connected Components
- Graph Challenges
2
Readings
- Overview
- Lecture Slides
Directed Graphs
- WordNet
1
Assignment
- Interview Questions: Directed Graphs (ungraded)
5
Videos
- Introduction to Digraphs
- Digraph API
- Digraph Search
- Topological Sort
- Strong Components
1
Readings
- Lecture Slides
Minimum Spanning Trees
1
Assignment
- Interview Questions: Minimum Spanning Trees (ungraded)
6
Videos
- Introduction to MSTs
- Greedy Algorithm
- Edge-Weighted Graph API
- Kruskal's Algorithm
- Prim's Algorithm
- MST Context
2
Readings
- Overview
- Lecture Slides
Shortest Paths
- Seam Carving
1
Assignment
- Interview Questions: Shortest Paths (ungraded)
5
Videos
- Shortest Paths APIs
- Shortest Path Properties
- Dijkstra's Algorithm
- Edge-Weighted DAGs
- Negative Weights
1
Readings
- Lecture Slides
Maximum Flow and Minimum Cut
- Baseball Elimination
1
Assignment
- Interview Questions: Maximum Flow (ungraded)
6
Videos
- Introduction to Maxflow
- Ford–Fulkerson Algorithm
- Maxflow–Mincut Theorem
- Running Time Analysis
- Java Implementation
- Maxflow Applications
2
Readings
- Overview
- Lecture Slides
Radix Sorts
1
Assignment
- Interview Questions: Radix Sorts (ungraded)
6
Videos
- Strings in Java
- Key-Indexed Counting
- LSD Radix Sort
- MSD Radix Sort
- 3-way Radix Quicksort
- Suffix Arrays
1
Readings
- Lecture Slides
Tries
1
Assignment
- Interview Questions: Tries (ungraded)
3
Videos
- R-way Tries
- Ternary Search Tries
- Character-Based Operations
2
Readings
- Overview
- Lecture Slides
Substring Search
- Boggle
1
Assignment
- Interview Questions: Substring Search (ungraded)
5
Videos
- Introduction to Substring Search
- Brute-Force Substring Search
- Knuth–Morris–Pratt
- Boyer–Moore
- Rabin–Karp
1
Readings
- Lecture Slides
Regular Expressions
1
Assignment
- Interview Questions: Regular Expressions (ungraded)
5
Videos
- Regular Expressions
- REs and NFAs
- NFA Simulation
- NFA Construction
- Regular Expression Applications
2
Readings
- Overview
- Lecture Slides
Data Compression
- Burrows–Wheeler
1
Assignment
- Interview Questions: Data Compression (ungraded)
4
Videos
- Introduction to Data Compression
- Run-Length Coding
- Huffman Compression
- LZW Compression
1
Readings
- Lecture Slides
Reductions
1
Assignment
- Interview Questions: Reductions (ungraded)
4
Videos
- Introduction to Reductions
- Designing Algorithms
- Establishing Lower Bounds
- Classifying Problems
2
Readings
- Overview
- Lecture Slides
Linear Programming
1
Assignment
- Interview Questions: Linear Programming (ungraded)
4
Videos
- Brewer's Problem
- Simplex Algorithm
- Simplex Implementations
- Linear Programming Reductions
1
Readings
- Lecture Slides
Intractability
1
Assignment
- Interview Questions: Intractability (ungraded)
6
Videos
- Introduction to Intractability
- Search Problems
- P vs. NP
- Classifying Problems
- NP-Completeness
- Coping with Intractability
1
Readings
- Lecture Slides
Auto Summary
Dive into "Algorithms, Part II," a professional-level course in Data Science & AI by Coursera, led by expert instructors. This free course delves into graph and string-processing algorithms, building on foundational knowledge from Part I. Enhance your programming skills with in-depth scientific performance analysis of Java implementations. Ideal for serious programmers, the course spans approximately 3780 minutes, with optional textbooks for further learning. Subscription options include Starter and Professional tiers. Perfect for those aiming to deepen their algorithmic expertise.

Robert Sedgewick

Kevin Wayne