Data structure Index



Notes Lecture 1: Abstract Data Types




Notes Lecture 2: Efficient Use Of Memory




Notes Lecture 3: Recursion




Notes Lecture 4: Specifications Of Lists And Collections

Handout specifications of collection and list.



Notes Lecture 5: Implementation Of Lists




Notes Lecture 6: Further List Variations




Notes Lecture 7: Sorting Algorithms

Handout examples of programs to analyze.



Notes Lecture 8: Tree Structures

Handouts:
lecture begins by discussing briefly any of the simple programs that the students found difficult to analyze. This should take no more than 20 minutes.



Notes Lecture 9: Binary Search Trees

We have defined binary trees in general, and for the next couple of lectures we are going to look at special kinds of binary trees - binary trees - that have specific properties that make certain kinds of processing very efficient.

The first special kind of binary tree we will look at is Binary Search Trees. These are binary trees with specific properties that make it very efficient to search for a value in the tree.




Notes Lecture 10: B-Trees And HeapsIn this lecture we will look at two kinds of balanced trees, B-trees and Heaps.

B-trees are extremely widely used in practice for storing large amounts of data on disk. A B-tree is perfectly height-balanced version of a data structure called an M-way search tree, so we will begin by discussing M-way search trees.


Notes Lecture 11: Tables And Graphs

Handout specification of Table



Notes Lecture 12: Graph Algorithms

This lecture will probably not take a full 3 hours. Use the additional time to summarize the course and review for the exam.
In this lecture we conclude our discussion of graphs. First we look at standard algorithms for two very common problems; then we look at two common ways of implementing graphs.