Exam 3 (Take Home; Due on April 24th at 1 PM; submit in my office, ENB 275)
Reading List for Quiz 7 (in class Quiz, Closed Notes, on April 17th)
Projects 6 – 8 posted. Check in Canvas.
See Canvas.
—————————————————–
Syllabus
Lecture Slides
Question Bank
Project Descriptions
Quizzes and Exams
Code Tutorial
Dr. Meg’s Desktop Selected Lecture Videos
Quiz, Exam and Project Schedules
—————————————————–
Syllabus
Lecture Slides
Module 1: Algorithm Efficiency Analysis (Updated – version #4. Right click and Reload your page to get the latest version)
Module 2: Divide and Conquer
(Updated – version #1. Right click and Reload your page to get the latest version)
Module 4: Dynamic Programming(Updated – version #2. Right click and Reload your page to get the latest version)
Module 6: P, NP, NP-Complete Problems
Question Bank
QB Module 1: Algorithm Efficiency Analysis
QB Module 2 – Classical Design Techniques
QB Module 4 – Dynamic Programming
QB Module 5 – Graph Theory Algorithms
Project Descriptions
Project 1: Brute Force Algorithm for Element Uniqueness Problem (Due by: Feb. 8th 1 PM)
Check Canvas for Startup Code
Project 3: Algorithm to Determine the Longest Subsequence of Consecutive Integers in an Array using Hash tables, its Optimization and the Analysis of the Space-Time Tradeoff (Due by: March 1st, 1 PM)
Check Canvas for Sample Code on Hashtables and a Startup Code for the Project
Quizzes and Exams
Exam 2 (Take Home): Due on March 20th @ 1 PM, in class
Exam 1 (Take Home): Due on Feb. 20th @ 1 PM, in class
Quiz 3 (Take Home): Due on Feb. 27th @ 1 PM, in class
Quiz 4 (Take Home): Due on March 6th @ 1 PM, Submit in Canvas
Quiz 5 (Take Home): Due on March 27th @ 1 PM, Submit in Canvas
Quiz 6 (Take Home): Due on April 3rd @ 1 PM (Hard copy in class)
Code Tutorial
Dr. Meg’s Desktop Selected Lecture Videos (YouTube Links)
Module 1: Analyzing the Efficiency of Algorithms
Time-Complexity analysis of a recursive algorithm to compute the factorial of an integer
Example for solving recurrence relations
Time-complexity analysis of an iterative algorithm to determine whether an array has unique elements
Decrease and Conquer – Insertion Sort Algorithm and Examples
Module 2: Classical Algorithm Design Techniuqes
Brute Force Algorithms QB – String Matching Problems
Divide and Conquer – Theorem-Proof: In order Traversal of a Binary Search Tree
Divide and Conquer – Master Theorem
Binary Search Algorithm and Examples
Comparison of Bottom-up and Top-down Approaches for Heap Construction
Transform and Conquer – Proof for Euclid’s GCD Formula
Transform and Conquer – Heap Sort
Space-Time Tradeoffs for the Sorting Algorithms (Merge, Insertion and Heap Sorts)
Module 3: Greedy Technique
Greedy Technique – Fractional Knapsack Problem
Greedy Technique – Huffman Codes (Variable Length Prefix-free Encoding)
Module 4: Dynamic Programming
Dynamic Programming: Coin-row Problem Discussion and Example
Dynamic Programming: Binomial Coefficient
Dynamic Programming Solution for the Coin Collecting Problem in a Two-Dimensional Grid
Dynamic Programming: Integer Knapsack Problem (0-1 Knapsack Problem)
Module 5: Graph Theory Algorithms
Depth First Search on Directed Graph
Depth First Search and Articulation Points
Breadth First Search and 2-Colorability of Graphs
Topological Sort on DAGs and Proof for Neccessary and Sufficient Condition
Dijkstra’s Algorithm for Shortest Path Trees and Proof for Correctness
Bellman-Ford Algorithm for Shortest Path Trees and Examples New!!
Kruskal’s Algorithm: Examples to find Minimum Spanning Trees
Kruskal’s Algorithm: Proof of Correctness
Properties (1 and 2) of Minimum Spanning Tree: IJ-Cut and Minimum Weight Edge
Prim’s Algorithm for Minimum Spanning Trees and Proof for Correctness
Floyd’s All Pairs Shortest Paths Algorithm
Part 1 Part 2 Part 3 Part 4 Part 5 Part 6 Part 7
Module 6: P, NP and NP-Complete Problems
Polynomial Reduction: Hamiltonian Circuit to Traveling Salesman Problem
Polynomial Reductions: Independent Set, Clique and Vertex Cover
Multi-fragment Heuristic for the Traveling Salesman Problem
Quiz, Exam and Project Schedules