Algorithms and Data Structures
Home Page
News
Lectures
Code
Demos
Links
Exercises
Q&A
Introduction
Introduction (ADS, who cares?)
How fast is fast?
Arrays & ArrayList (a 2nd look)
A first stab
java code for: ArrayList and Pair
A practical example
Linked Lists
Linked Lists (part 1)
Linked Lists (contd.)
Linked Lists (contd.(contd.)))
java code for StringList
java code for DList
java code for generic List
Recursion
Recursion (Recursion (Recursion (stop it!)))
recursive code for pure lists
Alice's recursive methods
recursive drawing of btrees and htrees
fib, fact, arith, knapsack, perm, sets, McCarthy, palindrome ...
Analysis of Algorithms
Analysis of Algorithms (complexity)
Asymptotic Analysis of Algorithms
Experiments on linear and binary search
Stacks and Queues
Queues
ADT's, Stacks and Queues
ADT's, Stacks and Queues (contd.)
java examples
ArrayStack
NodeStack
Generic Queue (linked list implementation)
parentheses matching with CharStack
Reverse Polish Integer Calculator
Lists & Iterators & Comparators (slides with code)
Generic Lists and Iterators
Comparators and Comparable
Binary Trees & Trees
Binary Trees
Binary Search Trees (insert, delete, expression tree)
Binary Search Trees Traversal (a closer look at inorder)
AVLTtrees
Splay trees
Multi-way trees (and 2_mTrees)
Anatomy of a bug
java examples
Binary Tree
Binary Search Tree
2_4 Trees
AVL Tree
Binary Search Tree Experiment
AVL Tree Experiment
Priority Queues
Priority Queue and the Heap
Sorting
Sorting and Merging and Merge Sorting
Quick & Bucket & Radix Sorting
Ineffective Sorts
Astrachan's Archaelogical Algorithmic Analysis
sort experiment
java examples
bubble/selection/gnome sort
insertion/merge/quick sort
Hash Tables
Maps & Hash Tables
Dictionaries
java examples
a hash table excursion
All Questions Answered (and revision)
Patrick Prosser
2011.