ABOUT SEAVER  |  ACADEMICS  |  ADMISSION  |  ATHLETICS  |  STUDENT LIFE  |  ALUMNI  |  LOGIN

Natural Science Division
   
 

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