CS 1501, Algorithm Implementation
Spring 2014, Term 2144

This page lists basic information on the topics we have covered during each recitation. It is meant to help you review what we have learned.

Recitation Date Topics
3 Fri 31 Jan Graph search paradigms (depth- and breadth-first search); Recursion in depth-first search (DFS); Queues in breadth-first search (BFS); Graph data structures (adjacency lists, strategies for disallowing duplicate edges and self-edges); Graph operations (graph join).
Optional reading: DFS does not actually require recursion, but can instead be implemented using a stack, much like BFS uses a queue. In fact, recursion really is just an abstraction for using a call stack! The only real difference between DFS and BFS is that DFS visits the vertices most recently discovered, whereas BFS visits vertices in the order they were discovered.
2 Fri 24 Jan Digital search trees vs radix search tries; Asymptotic runtime analysis; Hashtables; Hash collisions; Linear probing; Double hashing; Considerations with deleting elements from hashtables.
Optional reading: Apart from linear probing and double hashing, there are many other ways to resolve or otherwise handle hashtable collisions, many of which make use of additional data structures to improve some aspect of performance.
1 Fri 17 Jan Linear search in an arbitrary array; Binary search in a sorted array; Searching a linked list vs searching an array; Landau (Big O) notation review; Binary search trees; Balance in binary search trees (degenerate case is a linked list).