Data Structures: COSC 320 (4) | Pepperdine University | Seaver College

Data Structures: COSC 320 (4)

Abstract data types, classes, and design patterns with C++. Sorting algorithms—insertion sort, merge sort, heapsort, quicksort. Linear data structures—stacks, queues, linked lists. Hash tables. Trees—binary search trees, 2-3 trees, B-trees, abstract syntax trees. Disjoint sets. Graphs—search algorithms, spanning trees, Kruskal's and Dijkstra's algorithms.

Prerequisite: COSC 221

Hours Topic
Introduction (6 hours)
2..0 Procedural features of C++ 
2.0 Object-oriented features of C++
2.0 Review of asymptotic behavior and recurrences

Sorting Algorithms (5 hours)
1.0 Insertion sort 
1.0 Merge sort
2.0 Heapsort, priority queues
1.0 Quicksort
Linear Data Structures (10 hours)
1.0 Array implementation of stack and queue ADTs
2.0 Pointer implementation of linked lists
1.0 Linked implementation of stack and queue ADTs
2.0 State design pattern for linked lists
4.0 Strategy design pattern for stack and queue
ADTs Hash Tables (3 hours)
2.0 Collision techniques
1.0 Hashing functions
Trees (10 hours)
0.5 Mathematical definitions
1.0 Binary search tree ADTs
3.0 State design pattern for binary search trees 
2.0 2-3 trees
1.0 B-trees
1.0 Abstract syntax trees
1.5 Recursive composition design pattern 
Disjoint Sets (2 hours)
2.0 Union and set membership algorithms
Graphs (11 hours)
0.5 Mathematical definitions 
1.5 Adjacency list and adjacency matrix representations
2.0 Breadth-first and depth-first searches 
1.0 Minimum spanning trees
2.0 Kruskal's algorithm
2.0 The shortest path problem
2.0 Dijkstra's algorithm 

Total: 47.0 hours, excluding holidays, review sessions, and exams 

*Fifty-minute class hours

close this window