Course Information

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

Schedule / Topics

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)