Ever wondered how search engines like Google can find what you need in milliseconds? The secret lies in efficient data structures. In this course, you will learn the fundamentals of data structures and why they are so crucial for optimizing performance. You’ll explore linked lists, stacks, queues, trees, and graphs, and learn where to use them. By the end, you'll implement these structures to make your programs faster and be well-prepared for coding interviews.



Get an overview of fundamental data structures including arrays, linked lists, stacks, queues, trees, and graphs. Understand their properties, use cases, and implementation.
Explore the basic algorithmic principles that underpin data structures. Learn how these principles influence the design and functionality of various data structures.
Examine the effects of various operations on data structures, such as insertion, deletion, and traversal. Understand how these operations impact the efficiency and performance of data structures.
Calculate the runtime of accessing, inserting, deleting, and traversing elements in different data structures. Learn to evaluate the time and space complexity associated with these operations.
Explore abstract data structures, including lists, stacks, queues, trees, and graphs. Understand their theoretical foundations and practical implementations.
Compare and contrast different data structures to determine their strengths and weaknesses. Learn how to choose the appropriate data structure for specific computational tasks.
Apply the knowledge of data structures to real-world problems. Work on projects and case studies that demonstrate the practical application of data structures in solving complex issues.
This course is delivered online through an institution of the Lower Cost Models Consortium (LCMC) that is different than your degree-granting institution that awards the academic credit for the course.