CMSC 3140 Analysis of Algorithms
Welcome
Catalog Description
Course Objectives
Instructor
Text
Grades
Homework
Tests
Cheating
Using AI
Attendance
Disabilties
Title IX
PWU Policies
Outline
Notes
Course Outline
Introduction to Analysis of Algorithms
Overview of algorithms
Analyzing algorithms
Designing algorithms
Proofs
Growth of Functions and Notations
Big Oh, Little Oh, Big Omega, Little Omega, and Big Theta notations
NP-Complete Problems
Approximation Algorithms
Recurrences
Iteration method
Recursion-tree method
Master method
Sorting in Linear Time
Lower bounds for sorting
Counting sort
Radix sort
Medians and Order Statistics
Minimum and maximum
Selection in expected linear time
Selection in worst-case linear time
Greedy Algorithms
Elements of the greedy strategy
Huffman codes
Elementary Graph Algorithms
Representations of graphs
Breadth-first search
Depth-first search
Topological search
Strongly connected components
Minimum Spanning Trees
Algorithms of Kruskal and Prim
Single-Source Shortest Path
Bellman-Ford algorithm
Single-source shortest paths in directed acyclic graphs
Dijkstra's algorithm
All-Pairs Shortest Paths
Maximum Flow
Distributed Algorithms
Distributed Paradigm
Consensus and Election
Revised 2012