Data Structures and Algorithms in Python
Explore core data structures—linked lists, stacks, queues, hash tables, trees, and graphs—and implement key search and sort algorithms in Python while analyzing their efficiency using Big O notation.
What you'll learn
- Recognize and implement common data structures: linked lists, stacks, queues, hash tables, trees, and graphs
- Apply search algorithms such as linear search, binary search, depth-first search, and breadth-first search
- Use sorting algorithms including bubble sort, selection sort, insertion sort, merge sort, and quicksort
- Analyze algorithm efficiency with Big O notation for time and space complexity
- Sharpen Python programming skills through hands-on exercises and practical examples
Skills you'll gain
- Assess the effect of recursion and dynamic programming techniques on algorithm performance in Python examples
- Differentiate among bubble sort, selection sort, insertion sort, merge sort, and quicksort in terms of procedure and efficiency
- Distinguish between linear search, binary search, depth-first search, and breadth-first search based on logic and performance
- Evaluate time and space complexity of algorithms using Big O notation
- Identify and choose appropriate Python data structures—linked lists, stacks, queues, hash tables, trees, or graphs—for given problems
Prerequisites
- • Introduction to Object-Oriented Programming in Python
Who this course is for
- → Python programmers who want to deepen their understanding of data structures and algorithms
- → Learners preparing for technical interviews or advanced programming roles
- → Developers who have completed an introduction to object-oriented programming in Python
Provider
DataCamp
Related Courses
Grokking the System Design Interview, Volume II
The advanced successor to the world's best-selling System Design course, designed to help experienced engineers master complex distributed systems and secure L5/L6 roles.
Esri ArcGIS Enterprise System Design Professional Certification 2025
Learning plan with a curated list of training resources to help you refresh skills and prepare for the ArcGIS Enterprise System Design Professional certification exam.
Learn Next.js
Elevate web apps using Next.js. Gain skills in server-side rendering, dynamic routing, and data fetching for powerful, high-performing, and SEO-friendly applications.
Introduction to Rust
In this course, you'll learn Rust from the ground up, equipping you with the skills to build efficient and scalable Rust applications. You’ll master Rust’s ownership model, advanced features like smart pointers, multithreading, and async programming through hands-on exercises and a game engine project.
Deep Reinforcement Learning
From foundational concepts to advanced algorithms, this Nanodegree equips you with the tools to build intelligent agents using Python, neural networks, and state-of-the-art RL frameworks across robotics, finance, and beyond.
Introduction to Docker
Gain an introduction to Docker and discover its importance in the data professional’s toolkit. Learn Docker containers, images, Dockerfiles, CLI commands, and security best practices for building robust, secure, and scalable applications and workflows.