Course Information

Instructor: Robbie Schweller
EIEAB 3.220
956-665-2667
robert.schweller@utrgv.edu
Office hours: MW 9-10:30am, T: 9-11am
Schedule: EIEAB 2.207, MW 11:00am - 12:15
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
8/26 Algorithm Analysis
Heap Sort vs. Selection Sort
Read: Chapters 1 and 2.
sortTest.cpp
Binary Search vs. Linear Search
hw0 (due 8/26)
hwTT1 (due 9/1)
9/2 Labor Day Asymptotic Notation and Tools
Merge Sort and Quick Sort
hwTT2 (due 9/8)
9/9 Comparison Based Sorting
Read:
7.6 (mergesort)
7.7 (quicksort)
7.8 (lower bound)

Master Theorem
Karatsuba's algorithm
Reading: Chapter 10.2
Reading: Karatsuba algorithm

hwLLmergeSort (due 9/15)
9/16 Divide & Conquer Algorithms
Reading: Chapter 10.2
Reading: Strassen algorithm
Reading: Linear Time Selection
Reading: Multiple-Size Divide-and-Conquer Recurrences
Bounded-Universe Sorting
Reading: Section 7.11
Reading: Radix Sort
CountingSort.pdf
RadixSort.pdf
hwWRITTEN1 (due 9/22)
9/23 Bounded-Universe Sorting
Reading: Section 7.11
Reading: Radix Sort
CountingSort.pdf
RadixSort.pdf
Binary Search Trees
binarySearchTree.h
driver.cpp
Reading: 4.1,4.2,4.3
hwWRITTEN2 (due 9/29)
9/30 AVL Trees
Reading: 4.1,4.2,4.3
avl.h
binarySearchTree.h
driver.cpp
avlRotations.pdf
Exam 1

hwAC1 (10/6)
10/7 AVL Trees, Tries
Reading: 4.4, 12.4.2
avlRotations.pdf
wikipedia: Trie
trieSlides1.pdf
trie.h
Tries
wikipedia: Trie
trieSlides1.pdf
trie.h
driver.cpp
words2.txt
hwAC2 (10/13)
10/14 Heaps
lecHEAP-slides.pdf
Reading: 6.1-6.4
heap.h
driver.cpp
Hash Tables
Reading: Chapter 5
STL map, unordered map, and set
Reading:
STL: unordered map
STL: map
STL: set
mapDemo.cpp
hwPQ (10/20)
10/21 Challenge Problems
Graphs, Breadth-First Search
BFS.pdf
directedGraph.h
driver.cpp
hwMZ1.pdf (due 11/3)
10/28 Graphs, Graph Searching, Breadth First Search
BFS.pdf
directedGraph.h
driver.cpp
Shortest Paths: Dijkstra's Algorithm
hwMZ2.pdf (due 11/10)
11/4 Shortest Paths: Bellman-Ford Algorithm
Exam 2

hwTILE.pdf (due 11/17)
11/11 Network Flows, Perfect Matching, Edmonds-Karp Algorithm
lecFLOW.pdf
Network Flows, Perfect Matching, Edmonds-Karp Algorithm
lecFLOW.pdf
11/18 Dynamic Programming
Reading: 10.3
Dynamic Programming: Longest Common Subsquence
Reading: 10.3
hwBLND.pdf (due 12/4)
11/25 Dynamic Programming: Floyld-Warshall all-pairs shortest path
Dynamic Programming: Matrix Chains with Memoization
matrixChain.cpp
12/2 NP-completeness
NP-completeness
12/9 Final Exam:
12/9 10:15am-12:00

Resources