Data Structures and Algorithms, Part II

In this tutorial we introduce more complex data structures (containers) and algorithms which operate on these containers. This tutorial is based on the former data structure tutorial.

Linear Container (doubly linked list)

Create a new data type containing a doubly linked list of \mathrm{strings}. Then write the following functions to provide some basic functionality to the container:

Associative Container (Tree)

Create a tree data structure, where the entries (nodes) contain a \mathrm{key} and a \mathrm{value}. An example implementation can use an integer for the key and a user defined data type for the value, e.g., three-dimensional point. Create a container based on this tree. Write the following functions to enhance the functionality of the container: