Skip to content

v1.0.0

Latest

Choose a tag to compare

@bbking30 bbking30 released this 22 Dec 00:59

This release represents the culmination of my work in projects in the CSE 373 course at the University of Washington Seattle during the Fall 2024 quarter. Throughout the course, I applied a variety of data structures and algorithms in Java to build several projects that culminated into this repository for the Husky Maps application, including deques, binary heaps, binary and ternary search trees, and graph data structures. For context, Husky Maps is a web application that allows users to explore and navigate Seattle by mapping locations and searching for places of interest. The app’s core features rely on data structures and algorithms, which I utilized to efficiently manage data and automate tasks. In this course, I transitioned from simply implementing specifications to understanding the reasoning behind design choices. While my previous programming classes involved writing Java programs to solve problems using various data structures, CSE 373 pushed me to think more critically about why certain decisions are made. The course helped me develop better coding habits, with an emphasis on balancing functionality with efficiency. A key focus was on abstract data types (ADTs), which define what operations can be performed on data without specifying how they are implemented. Data structures serve as concrete realizations of these ADTs, offering specific implementations to achieve the desired functionality. This shift in perspective allowed me to move from seeing problems as isolated challenges requiring custom solutions to approaching them with adaptable, general algorithmic strategies. As we move down through the Java files toward the seamfinding folder, we see the application of advanced algorithms such as Dijkstra’s and Topological Sorting. These algorithms are integrated into the project to solve real-world problems, demonstrating the versatility of data structures and algorithms in action.