Here are all the various lecture slides for my ancient 1998 course on (basic) algorithms, put here at the request of Paul Taylor. They were prepared in Word 5.1a of blessed memory, which no longer runs on the Mac I've got (the one that ran it was stolen, sob!), so they won't ever be updated so far as I can see.

background a starting handout.

basics with an array-shift algorithm.

sorts big-O notation introduced, selection sort, bubble sort, insertion sort.

shellsort (if you read this you will see that I never really understood it).

big-O lots of detail and explanation.

mergesort long worked example.

quicksort long worked example, with a nice version of the algorithm (P5, p42).

binary chop with all the pitfalls mapped.

hashing including why linear rehash is good enough (which now Wikipedia says is wrong, so I must be wrong there).

circular shift an old favourite of mine.

trees with AVL trees and B-trees, using dictionaries as the application.

implementation of B-trees because they are lovely, and my friend Keith Clarke loves them.

graphs marking, searching, inc. Dijkstra's algorithm and A-star. The remark about the London Underground path-finding machine is factually correct, but for reasons I don't understand its paths are sometimes the fastest even when every Londoner (i.e. me) knows they shouldn't be.

heaps (as in heapsort) a wonderful data structure, that I recommend to all.