Master essential data structures and their implementations. Learn how to efficiently organize and manipulate data in this comprehensive programming course.
Master essential data structures and their implementations. Learn how to efficiently organize and manipulate data in this comprehensive programming course.
This course, part of the Algorithms and Data Structures MicroMasters program, provides a thorough understanding of fundamental data structures used in computational problems. Students learn implementation details across different programming languages, from basic arrays and linked lists to advanced concepts like AVL trees and hash tables. The course combines theoretical knowledge with practical programming assignments, teaching efficient data manipulation techniques and optimal usage scenarios. Special emphasis is placed on understanding internal implementations and performance characteristics of various data structures.
Instructors:
English
English
What you'll learn
Implement fundamental data structures including arrays and linked lists
Design and utilize dynamic arrays with efficient resizing strategies
Develop hash tables with O(1) average operation time
Implement priority queues for efficient job scheduling
Create and balance binary search trees
Analyze and optimize data structure performance
Skills you'll gain
This course includes:
PreRecorded video
Graded assignments, exams
Access on Mobile, Tablet, Desktop
Limited Access access
Shareable certificate
Closed caption
Get a Completion Certificate
Share your certificate with prospective employers and your professional network on LinkedIn.
Created by
Provided by

Top companies offer this course to their employees
Top companies provide this course to enhance their employees' skills, ensuring they excel in handling complex projects and drive organizational success.





There are 6 modules in this course
The course provides a comprehensive exploration of data structures essential for computational thinking. Starting with fundamental building blocks like arrays and linked lists, it progresses through dynamic arrays, hashing techniques, priority queues, and binary search trees. Students learn implementation strategies, performance analysis, and practical applications through hands-on programming assignments. The course emphasizes understanding both theoretical concepts and practical implementation details.
Basic Data Structures
Module 1
Dynamic Arrays and Amortized Analysis
Module 2
Priority Queues and Disjoint Set Union
Module 3
Hash Tables Part 1
Module 4
Hash Tables Part 2
Module 5
Binary Search Trees
Module 6
Fee Structure
Instructors

8 Courses
Mathematics and Theoretical Computer Science Prodigy
Daniel Mertz Kane serves as a full professor with a joint appointment in Mathematics and Computer Science at the University of California, San Diego, where he has established himself as a leading researcher in theoretical computer science, combinatorics, and number theory. Born in 1986 to academic parents in Madison, Wisconsin, his extraordinary mathematical talent emerged early, mastering K-9 mathematics by third grade and conducting university-level research under Ken Ono while still in high school. His academic achievements include two gold medals in the International Mathematical Olympiad (2002, 2003), being one of only eight people in history to become a four-time Putnam Fellow, and winning the 2007 Morgan Prize. After earning dual bachelor's degrees from MIT in mathematics with computer science and physics (2007), he completed his Ph.D. at Harvard under Barry Mazur in 2011. His research contributions span multiple areas, including groundbreaking work in computational statistics, Boolean functions, and machine learning, earning him numerous awards including the IBM Pat Goldberg Memorial and PODS best paper awards. He recently co-authored a book on robust statistics with Ilias Diakonikolas, to be published by Cambridge University Press

13 Courses
Distinguished Computer Scientist and Algorithms Expert
Alexander S. Kulikov serves as a visiting professor at the University of California, San Diego, and a leading research fellow at the Steklov Institute of Mathematics in St. Petersburg. His academic journey includes earning his Ph.D. in 2009 and Dr.Sci. in 2017 from the St. Petersburg Department of Steklov Institute of Mathematics. His research focuses on algorithms for NP-hard problems and circuit complexity, with significant contributions to computational complexity theory and algorithm design. He has authored several influential educational resources, including "Learning Algorithms Through Programming and Puzzle Solving" and co-created major online courses on platforms like Coursera and edX. His teaching experience spans more than eight years, during which he has developed innovative approaches to algorithms education. Currently at JetBrains as a researcher, he continues to advance the field through his work on algorithmic problem-solving and computational complexity, while maintaining his academic connections through his visiting professorship at UCSD and research position at Steklov Institute.
Testimonials
Testimonials and success stories are a testament to the quality of this program and its impact on your career and learning journey. Be the first to help others make an informed decision by sharing your review of the course.
Frequently asked questions
Below are some of the most commonly asked questions about this course. We aim to provide clear and concise answers to help you better understand the course content, structure, and any other relevant information. If you have any additional questions or if your question is not listed here, please don't hesitate to reach out to our support team for further assistance.