# Data Structures

### Entries

This collection contains 20 items

### Collector(s)

Gerald Gannod, John Karro, Paul Cantonwine, Matt Stallmann, Bill Eberle

### Description

Course assignments and resources for Data Structures and related courses.

### Test cases for data structures

Students develop test cases using CppUnit. They begin with specifying the testcases and then writing the code for CppUnit

### Airport Simulation Using Queues

A queue is a popular data structure that is commonly used when attempting to process requests. In this assignment you will use a queue to simulate the processing of airplanes landing and taking-off at an airport. The objectives of this assignment are to (1) gain experience researching for a…

### Searching and Replacing Text in a Large File

The assignment has two phases. In the first phase, students work in teams, each team doing a design document and a presentation. In the second each individual student implements one of the designs. Students use existing data structures in the Java API to solve the problem of doing global…

### Animal Guessing Game with a Binary Search Tree

A binary search tree is a data structure that is used to handle simple decisions. In this assignment you will use a binary search tree to store information and then search through the information for a decision. While a binary search tree is typically for small databases, it is still a potential…

### Point-Based Fractal Generation: An introduction to C++ Programming

Introduction to C++: basic syntax, constructs, and objects for Java programmers. Introduction to Subversion and Visual Studios.

This is intended as the introductory project in a sophomore-level course introducing students both basic data structures and to C++ (assuming two semesters of Java). …

This is intended as the introductory project in a sophomore-level course introducing students both basic data structures and to C++ (assuming two semesters of Java). …

### Blackjack Using Objects and Dynamic Memory Allocation

The purpose of the assignment is to create a black-jack game where the user is the “player” and your program is the “dealer” (or “house”). The objectives of this assignment are to (1) gain experience with dynamic memory allocation, (2) gain experience with creating appropriate data…

### Ciphers and the RSA Encryption Algorithm:

Introduction to C-based memory management

Implementation of the Caeser Cypher and RSA encryption with the goal of exposing students to C memory management issues.

In this assignment students will implement both a simple caeser cypher, followed by an RSA encryption/decryption functions, using only constructs supported in C (malloc/free,…

In this assignment students will implement both a simple caeser cypher, followed by an RSA encryption/decryption functions, using only constructs supported in C (malloc/free,…

### Car Wash Simulation Using Queues

A queue is a popular data structure that is commonly used when attempting to process requests. In this assignment you will use a queue to simulate the processing of customer requests to wash their car. The objectives in this assignment are to (1) gain experience researching for a solution to a…

### How many shuffles? Linked List Representations

Linked list creation and manipulation; simulation of card deck shuffling

Students start with the implementation of a basic linked last class and selected functionality designed to force them to thin through the issues of modifying lists without destroying list integrity. Following this then they…

Students start with the implementation of a basic linked last class and selected functionality designed to force them to thin through the issues of modifying lists without destroying list integrity. Following this then they…

### Putting It All Together: The Fox, the Chicken, and the Grain

In this game, the objective is for the farmer to get his fox, chicken and grain safely across a river from the south bank to the north bank. this is a simple game where YOU get to pick the appropriate data structure(s)! In this assignment, the objectives are to (1) continue gaining experience…

### Google Trends: Designing Data Structures

Linked list creation and manipulation; simulation of card deck shuffling

Students start with the implementation of a basic linked last class and selected functionality designed to force them to thin through the issues of modifying lists without destroying list integrity. Following this then they…

Students start with the implementation of a basic linked last class and selected functionality designed to force them to thin through the issues of modifying lists without destroying list integrity. Following this then they…

### Counting the Number of Occurrences of Each Word in a Text File - an Experimental Comparison of…

There are many different ways to count the number of distinct occurrences of each word in a text file. In this assignment students are asked to implement and compare the efficiency of several of these methods, including self-adjusting lists, dictionaries (TreeMap class), and sorting.

The key…

The key…

### Testing Linked Lists

In this assignment the student writes test specifications for an implementation of the singly-linked list and then is responsible writing code and executing the tests. The assignment is applicable to any implementation of the linked list (either singly or doubly linked) and can be easily modified…

### Build and Search an Index Tree Using Recursion

A binary search tree is a data structure that is used to handle simple decisions. In this assignment you will use a binary search tree to store words and keep a counter of how many times those words exist in the specified document. The objectives of this assignment are to (1) gain experience…

### The Closest Starbucks Problem: Space Dividing Data Structures

Implementation of a space-partitioning data structure in order to solve the nearest neighbor problem.

Given a static list of points, the student must design a data structure supporting an efficient nearest-neighbor search; points are awarded based on correctness and efficiency. Students are…

Given a static list of points, the student must design a data structure supporting an efficient nearest-neighbor search; points are awarded based on correctness and efficiency. Students are…

### Understanding and Debugging Someone Else's Program

In this assignment, you will be given the code. However, it was created by someone who is no longer around to answer any questions about the program. Plus, there are some severe issues with the code – including it won’t even compile. The objectives for this assignment are to (1) gain…

### The Traveling Salesman Problem: Graph Implementation

Implementation of a graph data structure and the Traveling Salesperson problem using the standard template library; short proofs of correctness.

In this assignment the student will implement two graph representation structures (adjacency matrix and adjacency list), each inherited from a common…

In this assignment the student will implement two graph representation structures (adjacency matrix and adjacency list), each inherited from a common…

### Implementing and documenting a class

In this assignment, the student will implement a class and use the doxygen documentation facility to document it. Javadocs can also be used if java is the preferred language. The assignment is written for a specific class to be implemented in the context of a larger project and should be modified…

### Continuing to Think Recursively Using a Maze

In this assignment, you will have to use everything you have learned to choose an appropriate algorithm and data structure for traversing a maze to find an object and get out - using a recursive solution! The objectives of this assignment are to (1) continue gaining experience with recursion, (2)…

### Class Implementation from API Description

Software specifications are often written in the form of API documentation. In this assignment, students are asked to write software by using an API as the specification.

## Comments