Notes Lecture 1:
Abstract Data Types
Notes Lecture 2:
Efficient Use Of Memory
Notes Lecture 4:
Specifications Of Lists And Collections
of collection and list.
Notes Lecture 5:
Implementation Of Lists
Notes Lecture 6:
Further List Variations
Notes Lecture 7:
Handout examples of programs to analyze.
Notes Lecture 8:
lecture begins by discussing briefly any of the simple programs that
the students found difficult to analyze. This should take no more than
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
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
Notes Lecture 12:
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.
This lecture will probably not take a full 3 hours. Use the additional
time to summarize the course and review for the exam.