Data Structures and Algorithms
John Morris,
Electrical and Electronic Engineering,
University of Western Australia
These notes were prepared for the Programming Languages and System
Design course in the BE(Information Technology) course at the
University of Western Australia.
The course covers:
- Algorithm Complexity
- Polynomial and Intractible Algorithms
- Classes of Efficient Algorithms
- Divide and Conquer
- Dynamic
- Greedy
- Searching
- Lists
- Trees
- Binary
- Red-Black
- AVL
- B-trees and other m-way trees
- Optimal Binary Search Trees
- Hash Tables
- Queues
- Heaps and Priority Queues
- Sorting
- Graphs
- Minimum Spanning Tree
- Dijkstra's Algorithm
- Huffman Encoding
- Fast Fourier Transforms
- Matrix Chain Multiplication
- Intractible Problems
- Alpha-Beta search
The algorithm animations were mainly written by Woi Ang with
contributions by Chien-Wei Tan, Mervyn Ng, Anita Lee and John Morris.
© John Morris, 1998