Coursera
Coursera Logo

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 External Link Icon

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.
Read more
Details Icon

Algorithms, Part II
 at 
Coursera 
Course details

More about this course
  • 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)

Other courses offered by Coursera

– / –
3 months
Beginner
– / –
20 hours
Beginner
– / –
2 months
Beginner
– / –
3 months
Beginner
View Other 6716 CoursesRight Arrow Icon
qna

Algorithms, Part II
 at 
Coursera 

Student Forum

chatAnything you would want to ask experts?
Write here...