Algorithms and Data Structures
Implementing algorithms and data structures in Java as part of coursework
Closest_pair: Implemented a divide-and-conquer algorithm for finding the closest pair among a set of points
Hash_table: Implemented a double hashed, dynamically sized hashtable for finding substring matches
Skip_list: Implemented a singly-linked skip list of events with dynamically resizing pillars
PQ_shortest_paths: Implemented Dijkstra's algorithm and a priority queue of an array-based binary heap to determine the shortest path between nodes ('airports'), taking into account flight departure times and a minimum layover time.