Eric Lefort, Halil Kelebek
- initialize a variable and change its value in a function by reference
- implement insertion sort for arrays of int
- implement linked lists using structs
- using unions in linked lists for data type flexibility
- implement a version of strcat()
- implement a version of strcmp()
- implement a version of atoi(), convert from string to integer
- detect cycles in a linked list data structure using a simplified version of Floyd's tortoise and hare cycle-finding algorithm.
- operate on linked lists
- free
- append
- insert
- delete
- locate index of element in sorted list in logarithmic time
- implement a simple graph framework
- find various path lengths using Dijkstra's algorithm
- use a priority queue to improve time complexity of Dijkstra's algorithm
all done using object-oriented programming
- implements simple binary search tree
- traversing a binary search tree
- determining the height of a BST (Note to self: store this value and update it when adding elements)
- implements reading binary image file
- can scale all pixel color values (adjusting brightness)
- dynamic programming seam-carving algorithm
- reading data from a text file
- sorting arrays of structs using different types of comparisons (qsort)
- binary search: locating indices of elements in a sorted list in logarithmic time ... again
- using dynamic programming to identify least important connected path of pixels to remove from an image (content-aware image resizing)