| Instructor: |
Robbie Schweller EIEAB 3.220 956-665-2667 robert.schweller@utrgv.edu Office hours: MW: 11 am-12:15, M: 2:30-3:30 pm, W 2:00 pm-3:30 pm, and by appointment. |
| Schedule: | Section 05: EIEAB 1.212, MW 9:30 am - 10:45 am Section 06: EIEAB 1.212, MW 12:30 pm - 1:45 pm |
| Books: | Main: "Data Structures and Algorithm Analysis in C++", 4th edition by Mark A. Weiss. Recommended: "Introduction to Algorithms", any edition, by Cormen, Leiserson, Rivest, Stein. | Syllabus: | CSCI3333_syllabus |
| Week | M | W | Homework |
| Sorting and Searching | |||
| 1/19 | MLK Day (no class) | Algorithm Analysis Heap Sort vs. Selection Sort Read: Chapters 1 and 2. sortTest.cpp | hw0 (due 1/23) hwTT1 (due 1/27) |
| 1/26 | Binary Search, QuickSort, MergeSort quickSort.cpp | Comparison Based Sorting MergeSort analysis Asymptotic Notation mergeSort.cpp Read: 7.6, 7.7, 7.8 | hwTT2 (due 2/1) |
| 2/2 | Comparison Based Sorting Lower Bound Read: 7.6, 7.7, 7.8 | Bounded-Universe Sorting: Counting Sort and Radix Sort Read: Section 7.11 CountingSort.pdf RadixSort.pdf | hwLLmergeSort (due 2/8) |
| Data Structures | |||
| 2/9 | Binary Search Trees bst.h driver.cpp | Binary Search Trees, AVL Trees Reading: 4.1-4.3, 4.4, 12.4.2 avlRotations.pdf avl.h bst.h driver.cpp | homeworkEBT (due 2/15) |
| 2/16 | AVL Trees avlRotations.pdf | Exam 1 | hwAC.pdf (due 2/22) |
| 2/23 | Tries trieSlides1.pdf wikipedia: Trie | Tries trieSlides1.pdf wikipedia: Trie | |
| 3/2 | Heaps lecHEAP-slides.pdf Reading: 6.1-6.4 | Hash Tables Reading: Chapter 5 | |
| Graph Algorithms | |||
| 3/9 | HashMaps unordered_map map | Graphs, Graph Searching, BFS BFS.pdf | |
| 3/16 | Shortest Paths: Dijkstra | Shortest Paths: Dijkstra | |
| 3/23 | Shortest Paths: Bellman-Ford | Network Flows | |
| 3/30 | Network Flows, Perfect Matching, Edmonds-Karp lecFLOW.pdf Reading: 10.3 | Exam 2 | |
| Algorithm Design | |||
| 4/6 | Divide and Conquer Algorithms Master Theorem Reading: Chapter 10.2 Karatsuba algorithm | Divide & Conquer Algorithms Reading: Chapter 10.2 Strassen algorithm Linear Time Selection Master Theorem - Multiple Size Divide+Conquer | |
| 4/13 | Divide and Conquer Algorithms Linear Time Selection | Dynamic Programming: Longest Common Subsequence | |
| 4/20 | Dynamic Programming: Floyd-Warshall | Dynamic Programming: Matrix Chains | |
| Complexity | |||
| 5/4 | NP-completeness | NP-completeness | |
| 5/11 | Final Exam:
Section 05: (see university final exam schedule) |
Final Exam:
Section 06: (see university final exam schedule) |
|