0% found this document useful (0 votes)
125 views2 pages

Course Outline and Lecture Schedule

The document outlines a course over 7 weeks covering algorithms and data structures including searching, sorting, graphs, dynamic programming, and greedy algorithms. Week 1 introduces analysis of algorithms and Week 2 covers searching and sorting. Week 3 introduces graphs and Week 4 covers weighted graphs. Week 5 covers union-find data structures, heaps, and divide and conquer algorithms. Week 6 covers search trees, interval scheduling, and Huffman codes. Week 7 introduces dynamic programming problems. Each week includes readings, quizzes, and programming assignments.

Uploaded by

ankurpachauri
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
125 views2 pages

Course Outline and Lecture Schedule

The document outlines a course over 7 weeks covering algorithms and data structures including searching, sorting, graphs, dynamic programming, and greedy algorithms. Week 1 introduces analysis of algorithms and Week 2 covers searching and sorting. Week 3 introduces graphs and Week 4 covers weighted graphs. Week 5 covers union-find data structures, heaps, and divide and conquer algorithms. Week 6 covers search trees, interval scheduling, and Huffman codes. Week 7 introduces dynamic programming problems. Each week includes readings, quizzes, and programming assignments.

Uploaded by

ankurpachauri
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 2

Course outline

Week 2 Quiz
Week 1: Introduction
 Quiz : Week 2 Quiz
 Course Outline

 Quiz : Week 2 Quiz Solutions


 Example: Air Travel

Week 2 Programming Assignment


 Example: Xerox shop
 Voting in Siruseri

 Example: Document similarity Week 3: Graphs


 Introduction to graphs

Week 1: Analysis of algorithms


 Introduction and motivation
 Representing graphs

 Input size, worst case, average case


 Breadth first search (BFS)

 Quantifying efficiency: O( ), Omega( ), Theta( )


 Depth first search (DFS)

 Examples: Analysis of iterative and recursive algorithms


 Applications of BFS and DFS

Week 1 Quiz
 Directed acylic graphs: topological sort
 Quiz : Week 1 Quiz

 Directed acylic graphs: longest paths


 Quiz : Week 1 Quiz Solutions

Week 3 Quiz
Week 2: Searching and sorting
 Quiz : Week 3 Quiz
 Arrays and lists

 Quiz : Week 3 Quiz Solutions


 Searching in an array

Week 3 Programming Assignment


 Selection Sort
 Frog Jumping

 Insertion sort Week 4: Weighted graphs


 Single source shortest paths: Dijkstra's algorithm

 Merge sort
 Dijkstra's algorithm: analysis

 Merge sort - analysis


 Negative edge weights: Bellman-Ford algorithm

 Quicksort
 All pairs shortest paths

 Quicksort - analysis
 Minimum Cost Spanning Trees

 Sorting - Concluding remarks


 Prim's Algorithm  Scheduling with deadlines: minimizing lateness

 Kruskal's algorithm  Huffman codes

Week 4 Quiz Week 6 Quiz


 Quiz : Week 4 Quiz  Quiz : Week 6 Quiz

 Quiz : Week 4 Quiz Solutions  Quiz : Week 6 Quiz Solutions

Week 4 Programming Assignment Week 7: Dynamic Programming


 Number Triples  Introduction to dynamic programming

Week 5: Data Structures: Union-Find and Heaps  Memoization


 Union-Find using arrays

 Grid Paths
 Union-Find using pointers

 Common subwords and subsequences


 Priority queues

 Edit distance
 Heaps

 Matrix multiplication
 Heaps: Updating values, sorting

Week 7 Quiz
Week 5: Divide and Conquer  Quiz : Week 7 Quiz
 Counting inversions

 Closest pair of points

Week 5 Quiz
 Quiz : Week 5 Quiz

 Quiz : Week 5 Quiz Solutions

Week 5 Programming Assignment


 Pushing Boxes (Sokoban)

Week 6: Data Structures: Search Trees


 Binary Search Trees

 Balanced search trees

Week 6: Greedy Algorithms


 Interval scheduling

You might also like