[A+DS] >1999>

CSC2040 Algorithms and Data Structures 1998

Summary of CSC2040 A+DS 1998, provided by Kim Marriott. NB. Topic number does not match lecture number, there being 18 topics and ~25 lectures.

Fundamentals
1 Review of C and elementary datastructures
  -- binary tree insertion and traversal
  -- implementation of stack
2 Recursion and recursion removal
  -- dynamic programming version of Fibonacci
  -- non-recursive pre-order traversal
3 Correctness of algorithms
  -- proofs by induction
  -- proof for factorial
4 Complexity analysis of algorithms

These slotted in where appropriate for the assignments
9 C and UNIX
  -- Command line arguments
  -- file I/O
  -- Make
10 Programming Tips
  -- profiling a C program
  -- design, style, testing, debugging, efficiency
  -- go through answer to one of the assignments
  -- mention debuggers

Sorting
5 elementary sorting review
  -- selection sort
  -- insertion sort
  -- quicksort (recursive and non-recursive)
6 radix sort
  -- radix exchange sort
  -- distribution (bucket) sort
  -- straight radix sort
7 priority queues and heap sort
  -- top down heap sort
  -- bottom up heap sort
8 mergesort and external sorting
  -- merging arays and merging lists
  -- top down merge sort (array and list)
  -- example of bottom up merge sort
  -- example of balanced multiway merge

Searching
11 elementary searching review
  -- sequential (linear) search
  -- binary search
  -- interpolation search
  -- binary search tree (search and insertion)
12 balanced trees
  -- 2-3-4 tree (search and insertion)
  -- red-black tree (search and insertion)
13 hashing
  -- example of separate chaining
  -- linear probing
  -- example of double hashing
14 digital search
  -- digital search tree (search and insertion)
  -- example of radix search trie
  -- patricia tree (search and (many) examples of insertion)
15 external searching
  -- example of indexed seq access
  -- example of B tree
  -- example of extendible hashing (search and insertion)

NB. Some lectures were split into two since they also covered
the assignment, answers or whatever.

Graph Algorithms ?about 5 lectures?
16 elementary algorithms
  -- depth first traversal (recursive, non-recursive)
  -- breadth first traversal
17 weighted graphs
  -- priority first traversal
  -- minimum spanning tree & shortest path
18 connectivity
  -- simple union-find
  -- better union-find

^CSE2304^ and 1999 >progress>.