These projects primarily revolved around the ability to solve a problem by using in depth data manipulation and retrieval with C++ applications. Although the goal was to not be very code intensive, but to spend more time engaging with the data structures and the different ways that the data can be handled. By focusing on different data structures, I was able to learn the best ways to use operations like search, sort, and access, which are the main ways that data is manipulated in data structures.
I used C++ to implement advanced data structures such as Binary Trees, Hash Tables, Linked Lists, and Vectors and conducted a detailed runtime analyses and reviews based off of the specific data structure and its ability to solve particular data handling issues efficiently, which help to show how important data organization is along with the access methods used in the development of the program.
Some of the challenges that arose were memory management errors, inefficiencies in the initial implementations, and the recursive algorithms. I addressed this through extensive debugging, testing performance, and using side by side comparisons in order to appropriately leverage C++ features like pointers and templates in order to help me impliment and optimize the correct data structure for the task.
How has your work on this project expanded your approach to designing software and developing programs?
Working on these projects has helped to properly introduce and emphasize how crucial data structures are for software architecture. This helped me to recognize and prioritize scalability and efficiency in design. I was taught how to integrate complex data structures early in the design process to support high-performance applications.
How has your work on this project evolved the way you write programs that are maintainable, readable, and adaptable?
Working with data structures has helped me to better maintain readability and structured logic. I have also been able to practice thoroughly how to clearly comment and adhere to the next developer that would be working with the software and data structure. Practicing on C++ best practices has helped me become more adaptable and helped me to design code for programs that can be easily adaptable and upgraded to larger scale data structures or algorithms.