Data Structures and Algorithms (C++)

Description of Course:

Data Structures and Algorithms expanded on concepts introduced in my earlier Computer Science I and II courses. This class deepened my understanding of object-oriented programming and introduced advanced C++ features, such as dynamic memory allocation, exception handling, SafeArray classes, DoublyLinkedList classes (extended into a Stack class), and Trie data structures for efficient string operations.

Most Impactful Project:

One of the most impactful projects was a Boggle board game solver. This project involved building a Trie data structure to store dictionary words and implementing a `search()` function to check for valid words on the board. I also created a recursive function to explore and solve the auto-generated Boggle board, optimizing search performance.

What I Learned?

This course taught me to analyze various data structures, understand their use cases, and evaluate their performance. While the Trie method was challenging to learn, it became my favorite for string operations. Through hands-on projects like the Boggle solver, I enhanced my skills in recursion, search optimization, and C++ programming.