Lecture Slides for CSCI 311 (Algorithms and Data Structures)
 
CONTENT SLIDES   NOTES   Source
Code
Safari
Online
Animation
Demo
 
Adelson-Velskii-Landis (1962) AVL tree
    Source code from Weiss 2/e (1999): AvlTree.h, AvlTree.cpp, Doxygen
Bayer (1972) red-black tree
    Source code from Weiss 2/e (1999): RedBlackTree.hRedBlackTree.cpp, Doxygen
Sleator-Tarjan (1985) splay tree
    Source code from Weiss 2/e (1999): SplayTree.hSplayTree.cpp, Doxygen
Atkinson, Sack, Santoro, & Strothotte (1986) (binary) heap
    Source code from Weiss 2/e (1999): BinaryHeap.hBinaryHeap.cpp, Doxygen
 
Online animations for sorting algorithms
    From sorting-algorithms.com
    From coderaptors.com
    From Jason Harrison, CS @ University of British Columbia
 
Mergesort
Hash-based search
   Fagin (1979) extendible hashing
Fredkin (1960) Trie
 
Galler & Fischer (1964) disjoint-set data structure (or, Union-Find algorithms) 
    Source code from Weiss 2/e (2007): DisjSets.hDisjSets.cpp, Doxygen
 
Vuillemin (1978) binomial heap (a.k.a. binomial queue)
    Source code from Weiss 3/e (2008): BinomialQueue.hDoxygen
Fredman & Tarjan (1987) Fibonacci heap
 
2-3-4 Trees (a.k.a. B-Trees of order 4)
    Additional notes from Purdue ...
Bayer & McCreight (1971) B-Trees, and B+ Trees
    Source code written in C `99: bpt.c
 
Graphs
    Source code from Heineman  (2008): Graph.hGraph.cxx, Doxygen
 
Disjoint Set ADT / Union-Find Algorithms
    Source code from Weiss 3/e (2008): DisjSets.hDisjSets.cpp, Doxygen
 
Bellman (1957) dynamic programming
    Hu & Shing (1984) Matrix chain-multiplication
    0/1 Knapsack Problem