Examination requirements on T-106.250/253 Data structures and algorithms T/Y

These exam requirements are valid for spring 2005 course. They are used in exams until 30-Apr-2006.

You can read the following books and chapters while preparing to the exam (all of the books cover most of the topics, however, none of the books cover all of the topics, thus typically one book is sufficient, but some additional material is necessary):

Pay attention to the following things

The following items are part of the examination requirements and provide helpful additional material (although, some of them are only in Finnish)

Below are some typical exam questions.

Definitions

Define the following concepts:
a) Deque
b) Priority queue
c) Hash function

Comparing different algorithms and data structures

Data structures:
a) Give four important criteria for selecting a data structure for an application. You can assume that only one type of search keys is used.
b) Use these criteria to compare binary search tree, AVL-tree and double hashing

An overview of one main topic

Sorting:
You must select an algorithm for sorting a number of elements in main memory. What criteria do you use for selecting the algorithm and what algorithms do you recommend for different situations? Give a reasoning for your opinion. (maximum recommended length 1 page)

Algorithm and data structure description

Give a textual description of an algorithm used to make topological sort of a graph. What is the running-time of the algoritm on a graph with V vertices and E edges?

Application and selection of algorithms and data structures for specific problems

Write the following algorithms using C, Pascal, Java or similar pseudolanguage. Describe the important aspects of the algorithm in text.
a) An algorithm that calculates the height of a binary tree. What is the running-time (using big-Oh notation) of your algorithm on a tree that contains N elements?
b) An algorithm that compares two binary trees and tells if they are identical. What is the running-time (using big-Oh notation) of your algorithm on if both trees contain N elements?
c) An algorithm that takes two arrays and prints all elements that appear in both. You can assume that the arrays are sorted in increasing order. What is the running time of your algorithm if the arrays contain M and N elements, respectively.

Application of algorithms and data structures to simple problems

Heap:
a) Use the keys
P R I O R I T Y Q U E U E
to construct a binary heap using the build-heap algorithm. Heap property is parent >= children. Show intermediate phases.
b) Show the heap after one and two deletions.
c) Show the final heap in array format.

The first mid-term exam is on Friday, March 11th. Remember to register to all of the exams! Registration is through WebTOPI.

The last chance to take the examination is in the beginning of 2006 (probably in February or March).