COP 3530

Data Structures & Algorithms

Students must know and write in the C++ language in this course.

Review

Computational Complexity & Algorithm Analysis – Reiteration
ADTs: Lists, Stacks, and Queues – Reiteration
Sets and Maps – Reiteration
Recursion – Reiteration
Design by Contract (Explicit Terminology)

Non-Linear Data Structures

Maps & Sets (via RB Trees / Hash Tables)
Trees – Insertion, Deletion, Traversal
Binary Trees
Binary Search Trees
Balanced Trees (AVL)
Splay Trees
B-Trees / N-ary Trees
Red-Black Trees
Max/Min-Heaps
Priority Queues
Graphs – Properties, Implementation, & Traversal

Sorting

Bubble Sort – Reiteration
Insertion Sort – Reiteration
Selection Sort – Reiteration
Merge Sort – Reiteration
Quick Sort
Radix Sort
Shell Sort
Heap Sort
Topological Sort

Algorithms

Dijkstra’s Algorithm (Full / All Destinations)
Bellman-Ford
Minimum Spanning Trees (Prims / Kruskals; Union-Find)
Network Flow
String Manipulation