AI-powered learning
Save this course
Data Structures with Generic Types in Python
Gain insights into array-based and linked list-based data structures, explore advanced structures like skiplists and hashing, and discover template-based collections.
4.8
96 Lessons
29h
Updated 2 months 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 Python interfaces, classes, and templates
- Familiarity with complexity analysis of data structures and related algorithms
Learning Roadmap
1.
Overview
Overview
Get familiar with data structures, their efficiency, interfaces, and mathematical basics in Python.
2.
Array-Based Lists
Array-Based Lists
Unpack the core of array-based lists, including stacks, queues, deques, and efficiency optimizations.
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 ListsExercise: Array-Based ListsSolution: Array-Based Lists
3.
Linked Lists
Linked Lists
7 Lessons
7 Lessons
Work your way through SLList, DLList, and SEList efficiency, operations, and analysis.
4.
Skiplists
Skiplists
8 Lessons
8 Lessons
Enhance your skills in efficient data structure management with skiplists' O(log n) operations.
5.
Hash Tables
Hash Tables
7 Lessons
7 Lessons
Dig into hash tables, their types, hashing techniques, practical exercises, and performance discussions.
6.
Binary Trees
Binary Trees
5 Lessons
5 Lessons
Simplify complex topics related to binary tree structures, their operations, and practical implementations.
7.
Random Binary Search Trees
Random Binary Search Trees
6 Lessons
6 Lessons
Piece together the parts of Random Binary Search Trees, Treaps, theoretical analysis, and implementation exercises.
8.
Scapegoat Trees
Scapegoat Trees
6 Lessons
6 Lessons
Step through Scapegoat Trees, analyzing operations, performance, and optimization techniques.
9.
Red-Black Trees
Red-Black Trees
5 Lessons
5 Lessons
Get started with red-black trees for efficient and balanced data structure operations.
10.
Heaps
Heaps
6 Lessons
6 Lessons
Break apart heaps, including binary and meldable, with their implementation and efficiency.
11.
Sorting Algorithms
Sorting Algorithms
9 Lessons
9 Lessons
Grasp the fundamentals of merge-sort, quicksort, heapsort, comparison bounds, and counting-based sorting techniques.
12.
Graphs
Graphs
8 Lessons
8 Lessons
Deepen your knowledge of graph structures, their representations, traversals, and algorithms.
13.
Data Structures for Integers
Data Structures for Integers
4 Lessons
4 Lessons
Investigate integer data structures like BinaryTrie, XFastTrie, and YFastTrie for efficient operations.
14.
External Memory Searching
External Memory Searching
6 Lessons
6 Lessons
Master efficient external memory searching with B-trees, focusing on balanced depth and minimal disk access.
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


Free Resources