Course Information

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

Schedule / Topics

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