## ITEC 360 - Data Structures and Analysis of Algorithms Spring 2019

 Weekly Notes Topics Reading Assignments Week 1 Syllabus and survey Chapter 1 (ppt) and Math Background (Appendix A) Homework 1 is ready. Don't do the red ones. Appendix A and Chapters 1 and 2 Homework 1 for Spring 2019 Week 2 Finish Math Background (Appendix A) Chapter 2 Algorithm Analysis (ppt) Chapters 1 and 2 Homework 1 due Monday 1/28/19 Homework 1b due Wednesday 2/6/19 Week 3 Mon: Chapter 2 Algorithm Analysis (ppt) Mon: Start Brute Force: Chapter 3 (ppt) Wed, Fri: More Brute Force Chapter 3 Homework 1b due Wednesday 2/6/19 Homework 2 is available Week 4 Mon: More Brute Force Chapter 3 (ppt) : Graph Algorithms Fri: Finish Brute Force, start Divide and Conquer Chap. 5 (ppt) Notes from ealier years: Graph Algorithms Graph Terminology Elementary Algorithms - BFS and DFS An interesting article on programming: (html)   (pdf) Chapters 3 and 4 Homework 2 is available Week 5 Mon/Wed: Recurrences: Forward/backward subs, Master Method Fri: More Divide & Conquer - Ch 5 (ppt) : P1 and Closest pair Chapter 4 Homework 3. Due Fri 2/22/19 Homework 4. Due Fri 3/1/19 Programming assignment 1 available. Week 6 Mon: Divide & Conquer (Ch 5 ppt): Closest Pair, Mergesort Wed: Homework. Mergesort (continued) Fri: Finish Divide and Conquer: Quicksort Notes from previous years: Divide and Conquer (Check out Maximal Subarray) Java uses a relatively new Quicksort that uses two pivots! Homework 4 is available. Due Friday 3/1/19 Programming assignment 1 available. Exam 1 next week. Week 7 Mon: Start Decrease and Conquer - Chap. 4 (ppt) : Insertion sort (Top down/Bottom Up). DAG. Wed: Dec & Con: Topo sort, minimal perms (superperms) Fri: Dec & Con: Grey code, binary search, Median, Quick Select Exam Wednesday after break (3/20/19) (Topics list ) Homework 5 for Spring 18 Programming assignment 1 draft available. Week 8 SPRING BREAK! Week 9 Mon: Questions on Exam and homework Recurrence trees and Master Method Wed: (3/20/19): Exam (Topics list ) Fri: Finish Dec& Con (Ch 4 ppt) : Quick Select and BST Binary Search: It's not as simple as you think! Homework 5 Programming assignment 1 Draft available. Week 10 Major Field Test: Sat April 13 10:00 a.m. - 12:30 p.m. For Spring or Summer 2019 CSCS graduates. Dynamic Programming: Chapter 8 (ppt) Some more notes: Dynamic Programming: Overview. Rod Cutting Chained Matrix Multiplication Longest Common Subsequence Optimal Binary Search Tree Knapsack Problem All Pairs Shortest Path (Floyd's Algorithm) Chapters 6 and 7 Homework 6 Program 1 Week 11 Major Field Test: Sat April 13 10:00 a.m. - 12:30 p.m. For Spring or Summer 2019 CSCS graduates. Continue Dynamic Programming: Chapter 8 (ppt) Some more notes: Dynamic Programming: Overview. Rod Cutting Chained Matrix Multiplication Longest Common Subsequence Optimal Binary Search Tree Knapsack Problem All Pairs Shortest Path (Floyd's Algorithm) Program 2 DRAFT. Transform and Conquer: Chapter 6 (ppt) Homework 6 for Spr 19 Week 12 Major Field Test: THIS Sat April 13, 2019, 10:00 a.m. - 12:30 p.m. For Spring or Summer 2019 CSCS graduates. Exam 2 Friday next week 4/19/19 . (Topics list (from last year) Transform and Conquer (continued): Chapter 6 (ppt) Notes on Balanced Trees 2-3-4 Trees (revisited) Red-Black Trees (B-Trees are related, but are covered with the next chapter) Heaps Horner's Method [SKIP] Problem Reduction Time and Space Tradeoffs: Chapter 7 (ppt) Homework 7 Program 2 DRAFT. Week 13 Exam 2 Friday this week 4/19/19 . (Topics list (from last year) Independent study presentation: An Introduction to Type Theory - Wednesday 4/17/19, Whitt 214, 4:00 p.m. to 5:30 p.m. Forgot to say: Connection between 2-3-4 trees and Red Black trees Time and Space Tradeoffs (continued): Chapter 7 (ppt) Lower bounds & Linear Sorts (count, radix, bucket) String matching Hash Tables In the notes listed above, we looked at: Simple Uniform Hashing assumption Expected number of elements at slot j Worst case analysis of search Comparison with binary search Mapping ascii keys to integers Multiplication and division methods for hash functions Perfect Hashing definition B-Trees Homework 8 Program 2 is available. Week 14 Greedy Algorithms: Chapter 9 (ppt) Program 2 is available. Week 15 NP Completeness: Chapter 11 (ppt) NP-Completeness Notes NP-Completeness An interesting article For Knuth's opinion, see his answer to Question 17 of this Twenty Questions article The answer references Coping with Finiteness And for dicusssion, see this reddit discussion Lower Bounds - Linear Sorts Do all well defined problems have algorithms: The Halting Problem does not ITEC 420 Final Exam Topics Review session? Sorting out Sorting Sorting out Sorting Homework 8 due Friday Program 2 due Saturday (No late programs) Week 16 Comprehensive Final Exam (topics):    10:15 a.m. - 12:15 p.m., Wednesday, May 4, 2016 Exam week schedule Semesters used to be a week longer ComprehensiveFinal Exam