Date Description
2021-09-02 Compilers vs. Interpreters
Great Circle Distance Calculator initial version
2021-09-07 Separate Compilation; State Machines
Great Circle Distancce Calculator with functions in two separate files with user input with makefile
Audio File Splitter
2021-09-09 Audio File Splitter with files
Arrays and Strings
2021-09-14 Stack Frames
2-D arrays, Strings
2021-09-16 Pointer and Arrays and Structs; Dynamic Memory Allocation
Returning an array from a function with malloc
Distance calculator with structs
2021-09-21 Dynamically Allocated 2-D arrays; Resizing a 1-D array; Selection Sort
2-D array with malloc
Eastward TSP Heuristic with resizing input array
2021-09-23 Memory diagrams
Eastward TSP Heuristic with opaque location struct
2021-09-28 Array-based list implementation
Eastward TSP Heuristic with array-based location list
2021-09-30 Linked Lists; Mergesort
Eastward TSP Heuristic with linked list location list
2021-10-05 Mergesort
location_list_for_each (function pointers)
2021-10-07 Stacks, Queues, Deques
Re-entrant sort w/ pointer to function; use of qsort
Blob finding with a stack replacing recursion
2021-10-12 Map ADT
2021-10-14 Chained hash tables
Inefficient map w/ unsorted array
More efficient map w/ chained hash table
Generic map w/ unsorted array
2021-10-19 Salt; Open Addressing
  Exam #1 Practice Problems and solutions
2021-10-28 Binary Search Trees
Map with unbalanced Binary Search Tree
2021-11-02 AVL Trees
2021-11-04 Red-Black Trees
2021-11-09 Red-Black Delete; Quadtrees
2021-11-11 k-Nearest Neighbors
2021-11-16 Balanced Quadtrees; Heaps
2021-11-18 Heapsort; Graphs
2021-11-30 Graph Representation; Breadth-first Search
2021-12-02 Dijkstra's Algorithm
  Exam #2 Practice Problems and solutions