AI-powered learning
Save this course
Data Structures with Generic Types in C++
Gain insights into array and linked list-based implementations, delve into advanced structures like skiplists and trees, and explore template-based collections for data optimization & retrieval.
5.0
96 Lessons
29h
Updated 1 month ago
Also available in
Also available in
Join 2.9 million developers at
Join 2.9 million developers at
LEARNING OBJECTIVES
- A thorough understanding of data structures and algorithms
- Working knowledge of array-based, linked list-based, and blended implementations
- Hands-on experience of C++ interfaces, classes, and templates
- Familiarity with complexity analysis of data structures and related algorithms
Learning Roadmap
1.
Overview
Overview
Step through key data structures in C++, understanding their interfaces and efficiency.
2.
Array-Based Lists
Array-Based Lists
Get started with array-based list implementations, including stacks, queues, deques, and space-efficient arrays.
Array Implementation of StackArrayQueue: An Array-Based QueueArrayDeque: Fast Deque Operations Using an ArrayDualArrayDeque: Building a Deque from Two StacksRootishArrayStack: A Space-Efficient Array StackAnalysis of RootishArrayStackQuiz on Array-Based ListsDiscussion on Array-Based ListsExcercise: Array-Based ListsSolution: Array-Based Lists
3.
Linked Lists
Linked Lists
7 Lessons
7 Lessons
Examine the structures, operations, and efficiencies of various linked lists for dynamic collections.
4.
Skiplists
Skiplists
8 Lessons
8 Lessons
Grasp the fundamentals of skiplists for efficient data manipulation and random-access linked lists.
5.
Hash Tables
Hash Tables
7 Lessons
7 Lessons
Dig deeper into hash table implementations, efficient data retrieval methods, and collision resolution.
6.
Binary Trees
Binary Trees
5 Lessons
5 Lessons
Investigate binary trees, their structure, traversals, binary search trees, and design considerations.
7.
Random Binary Search Trees
Random Binary Search Trees
6 Lessons
6 Lessons
Master the steps to build and optimize random binary search trees and Treaps efficiently.
8.
Scapegoat Trees
Scapegoat Trees
6 Lessons
6 Lessons
Step through Scapegoat Trees' balance maintenance, efficiency analysis, and optimization techniques.
9.
Red-Black Trees
Red-Black Trees
5 Lessons
5 Lessons
Discover the logic behind red-black trees, their operations, and their balanced structure.
10.
Heaps
Heaps
6 Lessons
6 Lessons
Break apart Binary Heaps and Meldable Heaps, explore heap variations, and implement `remove(i)`.
11.
Sorting Algorithms
Sorting Algorithms
9 Lessons
9 Lessons
Enhance your skills in various sorting algorithms, their efficiencies, and practical implementations.
12.
Graphs
Graphs
8 Lessons
8 Lessons
Deepen your knowledge of graphs, their representations, traversal algorithms, and universal sink detection.
13.
Data Structures for Integers
Data Structures for Integers
4 Lessons
4 Lessons
Follow the process of efficient set implementations for integers with BinaryTrie, XFastTrie, and YFastTrie.
14.
External Memory Searching
External Memory Searching
6 Lessons
6 Lessons
Practice using B-trees for efficient external memory operations and managing dynamic datasets.
Certificate of Completion
Showcase your accomplishment by sharing your certificate of completion.
Complete more lessons to unlock your certificate
Developed by MAANG Engineers
ABOUT THIS COURSE
Data structures and algorithms are essential in computer science since they play a crucial role in efficient information retrieval and processing, dealing with files, storing contacts on phones, social networks and web searches.
In this course, you’ll learn about the array-based implementation of various linear data structures, stack, and queues. You’ll also learn about linked list-based implementation. Next, you’ll explore advanced data structures like skiplists and hashing. You’ll learn how to implement a variety of trees and graphs, and data structures related to bits of an integer. Toward the end of the course, you’ll learn the implementation of structures based on external storage.
After completing this course, you’ll be able to create reusable programs with template-based collections that can efficiently analyze how to optimize the storage and retrieval of very large amounts of data. Overall, this course will enhance your productivity and performance as a software developer.
Trusted by 2.9 million developers working at companies
A
Anthony Walker
@_webarchitect_
E
Evan Dunbar
ML Engineer
S
Software Developer
Carlos Matias La Borde
S
Souvik Kundu
Front-end Developer
V
Vinay Krishnaiah
Software Developer
Built for 10x Developers
No Passive Learning
Learn by building with project-based lessons and in-browser code editor


Personalized Roadmaps
The platform adapts to your strengths & skills gaps as you go


Future-proof Your Career
Get hands-on with in-demand skills


AI Code Mentor
Write better code with AI feedback, smart debugging, and "Ask AI"




MAANG+ Interview Prep
AI Mock Interviews simulate every technical loop at top companies

