This repository is an archive of all the programming assignments for CS 261 at Oregon State University.
In this course we learned about abstract data types and essential data structures, including dynamic arrays, linked lists, trees, and hash tables. We also covered complexity analysis of data structures and their operations. By the end of the course, we are able to:
- Describe the properties, interfaces, and behaviors of basic abstract data types, such as collection, bag, indexed
collection, sorted collection, stack, and queue. - Read an algorithm or program code segment that contains iterative constructs and analyze the asymptotic time complexity of the algorithm or code segment.
- State the asymptotic time complexity of the fundamental operations associated with a variety of data structures, such as vector, linked list, tree, and heap.
- Recall the space utilization of common data structures in terms of the long-term storage needed to maintain the structure, as well as the short-term memory requirements of fundamental operations, such as sorting.
- Design and implement general-purpose, reusable data structures that implement one or more abstractions.
- Compare and contrast the operation of common data structures (such as linear structures, priority queues, tree structures, hash tables, maps, and graphs) in terms of time