Skip to content

scottwcain1/Data-Structures-and-Algorithms

Repository files navigation

In these projects, I worked ontwo main challenges. First I focused on analyzing the run-time and memory usage of different data structures, whereas, in Project Two, I developed a program to sort and print a list of Computer Science courses in alphanumeric order. These tasks were essential for understanding the practical applications of data structures and algorithms in real-world scenarios. Data structures are efficient data manipulation and storage, so true understanding them is needed. For both projects, I first identified the requirements and constraints and then selected suitable data structures and algorithms based on their time and space complexities. Breaking down the problems into smaller tasks allowed me to optimize each part effectively. Overcoming roadblocks involved systematic debugging, extensive testing, and seeking peer reviews, which helped me resolve unexpected code behavior and performance bottlenecks.

Working on these projects has significantly expanded my approach to software design and development. I now prioritize efficiency and scalability in my designs, ensuring they can handle large datasets and complex operations smoothly. Additionally, my work on these projects has evolved the way I write programs. I place greater emphasis on writing maintainable, readable, and adaptable code. By following coding standards, using clear comments, and implementing modular design principles, I ensure that my code can be easily understood, modified, and extended by others or by myself in the future. Given that data will be loaded occasionally, printed less frequently, but searched often, a Hash Table is the best choice. Proper hash function design and appropriate table sizing will reduce collisions and maintain efficiency close to O(1).

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages