| Instructor: |
Robbie Schweller EIEAB 3.220 956-665-2667 robert.schweller@utrgv.edu Office hours: M 2:45-3:15 pm, T 12:45-3:15 pm, W 12:45-3:15 pm |
| Schedule: | Section 01: EIEAB 2.207, MW 11:00 am - 12:15 pm Section 05: EIEAB 2.207, MW 3:30 pm- 4:45pm |
| 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 | |||
| 9/1 | Labor Day (no class) | Algorithm Analysis Heap Sort vs. Selection Sort Read: Chapters 1 and 2. sortTest.cpp | hw0 (due 9/5) hwTT1 (due 9/7) |
| 9/8 | Binary Search and Asymptotic Notation | Comparison Based Sorting Merge Sort and Quick Sort Read: 7.6, 7.7, 7.8 quickSort.cpp | hwTT2 (due 9/14) |
| 9/15 | Comparison Based Sorting: Lower Bound Read: 7.6, 7.7, 7.8 | Bounded-Universe Sorting Reading: Section 7.11 CountingSort.pdf RadixSort.pdf | hwLLmergeSort (due 9/21) |
| Data Structures | |||
| 9/22 | Radix Sort, Binary Search Trees | Binary Search Trees, AVL Trees bst.h driver.cpp Reading: 4.1-4.3, 4.4, 12.4.2 | hwBinaryTrees (due 9/28) |
| 9/29 | AVL Trees (cont.) avlRotations.pdf | Exam 1 | hwWRITTEN-analysis (due 10/5) |
| 10/6 | AVL trees avl.h bst.h driver.cpp | Tries trieSlides1.pdf wikipedia: Trie trie.h driver.cpp words2.txt | hwAC (due 10/12) |
| 10/13 | Heaps lecHEAP-slides.pdf Reading: 6.1-6.4 minHeap.h driver.cpp | Hash Tables Reading: Chapter 5 STL map, unordered_map, set | hwAC2 (due 10/19) |
| Graph Algorithms | |||
| 10/20 | HashMaps mapDemo.cpp unordered_map map | Graphs, Graph Searching, BFS BFS.pdf directedGraph.h driver.cpp | hwPQ (due 10/26) |
| 10/27 | Shortest Paths: Dijkstra | Shortest Paths: Dijkstra | hwMZ1 (due 11/2) |
| 11/3 | Shortest Paths: Bellman-Ford | Network Flows | hwMZ2 (due 11/9) |
| 11/10 | Network Flows, Perfect Matching, Edmonds-Karp lecFLOW.pdf Reading: 10.3 | Exam 2 | hwTILE (due 11/16) |
| Algorithm Design | |||
| 11/17 | Divide and Conquer Algorithms Master Theorem Reading: Chapter 10.2 Karatsuba algorithm | Divide & Conquer Algorithms Reading: Chapter 10.2 Strassen algorithm Linear Time Selection | |
| 11/24 | Dynamic Programming: LCS, Floyd-Warshall | Dynamic Programming: Matrix Chains | |
| Complexity | |||
| 12/1 | NP-completeness | NP-completeness (cont.) | |
| 12/8 | Review / Buffer | ||
| 12/15 | Final Exam: Section 01: 10:15am-12:00pm | Final Exam: Section 05: 1:15pm-3:00pm | |