DS-Algo
Data Structures and Algorithms in Python
Learn to generate insights using Python-powered data structures and algorithms.
- Practice in 35 Laboratorios prácticos — nothing to install
- 17 Lecciones interactivas y 102 topics mapped to the official exam objectives
- 257 Preguntas del examen de práctica
Intermediate A tu propio ritmo · 1 año de acceso 4.2/5 (334 Revisar)
35 LiveLabs prácticos
Practice real IT tasks in guided environments.
- Entornos reales
- Calificación automática
- Sin instalación
01 / Habilidades que obtendrás
What you will be able to do
Is a DS/Algo problem stumping you? This Python data structures and algorithms course has your back!
We’ll take you from Python basics to advanced data structures, sorting, and graph algorithms – all while breaking down recursion and memory management.
So, ditch the old chunky textbooks and attempt hands-on labs to write code that’s clever, efficient, and functional.
- Master Python programming, including control flow, functions, and exception handling.
- Structure and execute advanced data structures like linked lists, trees, graphs, and hash tables.
- Analyze algorithms for efficiency using techniques like asymptotic analysis and experimental studies.
- Design and optimize recursive solutions to solve complex problems effectively.
- Implement sorting, searching, and graph traversal algorithms with real-world applications.
- Develop problem-solving strategies using dynamic programming and text-processing techniques.
Course Highlights
-
17 Lecciones estructuradas Cobertura completa de los objetivos principales del curso
-
35 LiveLabs prácticos Escenarios interactivos guiados con evaluación instantánea
-
257 Preguntas de práctica Pruebas de evaluación con justificaciones de respuesta detalladas
-
1 año de acceso completo Aprendizaje a tu propio ritmo, accesible en cualquier momento y en todos los dispositivos
02 / Lecciones y laboratorios
See exactly what you will learn and practice
Plan de estudios
17 Lecciones interactivas · 102 topics01 Python Primer 12 topics · 15 Laboratorio en vivo +
- Python Overview
- Objects in Python
- Expressions, Operators, and Precedence
- Control Flow
- Functions
- Simple Input and Output
- Exception Handling
- Iterators and Generators
- Additional Python Conveniences
- Scopes and Namespaces
- Modules and the Import Statement
- Exercises
15 Laboratorio en vivo in this lesson — see the labs panel →
02 Object-Oriented Programming 7 topics · 2 Laboratorio en vivo +
- Goals, Principles, and Patterns
- Software Development
- Class Definitions
- Inheritance
- Namespaces and Object-Orientation
- Shallow and Deep Copying
- Exercises
2 Laboratorio en vivo in this lesson — see the labs panel →
03 Algorithm Analysis 5 topics +
- Experimental Studies
- The Seven Functions Used in This Course
- Asymptotic Analysis
- Simple Justification Techniques
- Exercises
04 Recursion 7 topics · 2 Laboratorio en vivo +
- Illustrative Examples
- Analyzing Recursive Algorithms
- Recursion Run Amok
- Further Examples of Recursion
- Designing Recursive Algorithms
- Eliminating Tail Recursion
- Exercises
2 Laboratorio en vivo in this lesson — see the labs panel →
05 Array-Based Sequences 7 topics · 6 Laboratorio en vivo +
- Python's Sequence Types
- Low-Level Arrays
- Dynamic Arrays and Amortization
- Efficiency of Python's Sequence Types
- Using Array-Based Sequences
- Multidimensional Data Sets
- Exercises
6 Laboratorio en vivo in this lesson — see the labs panel →
06 Stacks, Queues, and Deques 4 topics · 1 Laboratorio en vivo +
- Stacks
- Queues
- Double-Ended Queues
- Exercises
1 Laboratorio en vivo in this lesson — see the labs panel →
07 Linked Lists 8 topics · 4 Laboratorio en vivo +
- Singly Linked Lists
- Circularly Linked Lists
- Doubly Linked Lists
- The Positional List ADT
- Sorting a Positional List
- Case Study: Maintaining Access Frequencies
- Link-Based vs. Array-Based Sequences
- Exercises
4 Laboratorio en vivo in this lesson — see the labs panel →
08 Trees 6 topics +
- General Trees
- Binary Trees
- Implementing Trees
- Tree Traversal Algorithms
- Case Study: An Expression Tree
- Exercises
09 Priority Queues 6 topics +
- The Priority Queue Abstract Data Type
- Implementing a Priority Queue
- Heaps
- Sorting with a Priority Queue
- Adaptable Priority Queues
- Exercises
10 Maps, Hash Tables, and Skip Lists 6 topics · 2 Laboratorio en vivo +
- Maps and Dictionaries
- Hash Tables
- Sorted Maps
- Skip Lists
- Sets, Multisets, and Multimaps
- Exercises
2 Laboratorio en vivo in this lesson — see the labs panel →
11 Search Trees 7 topics +
- Binary Search Trees
- Balanced Search Trees
- AVL Trees
- Splay Trees
- (2,4) Trees
- Red-Black Trees
- Exercises
12 Sorting and Selection 8 topics · 2 Laboratorio en vivo +
- Why Study Sorting Algorithms?
- Merge-Sort
- Quick-Sort
- Studying Sorting through an Algorithmic Lens
- Comparing Sorting Algorithms
- Python's Built-In Sorting Functions
- Selection
- Exercises
2 Laboratorio en vivo in this lesson — see the labs panel →
13 Text Processing 6 topics · 1 Laboratorio en vivo +
- Abundance of Digitized Text
- Pattern-Matching Algorithms
- Dynamic Programming
- Text Compression and the Greedy Method
- Tries
- Exercises
1 Laboratorio en vivo in this lesson — see the labs panel →
14 Graph Algorithms 8 topics +
- Graphs
- Data Structures for Graphs
- Graph Traversals
- Transitive Closure
- Directed Acyclic Graphs
- Shortest Paths
- Minimum Spanning Trees
- Exercises
15 Memory Management and B-Trees 5 topics +
- Memory Management
- Memory Hierarchies and Caching
- External Searching and B-Trees
- External-Memory Sorting
- Exercises
16 Appendix A: Character Strings in Python +
17 Appendix B: Useful Mathematical Facts +
Laboratorios prácticos Our edge
35 Laboratorio en vivos- Using the Bitwise Operator
- Using the Equality Operator and the list Class
- Using Arithmetic Operators
- Performing Bitwise Operations
- Using the Comparison Operator
- Using the if-elif-else Statement - Part 1
- Using the if-elif-else Statement - Part 2
- Using the if-else Statement
- Determining the Armstrong Number
- Rectifying Errors
- Finding LCM of Two Numbers
- Creating a Function with its Default Value
- Handling Exception
- Using the dir Function
- Using the math Module
- Understanding the init Method
- Understanding Numeric Progressions
- Calculating the Product of Two Positive Integers
- Finding the Minimum Element
- Using the getsizeof Function
- Implementing a Dynamic Array
- Adding Elements to a List
- Using the extend Method
- Removing Elements from a List
- Constructing the Caesar Cipher Algorithm
- Using Stack Abstract Data Type Method
- Implementing a Stack
- Implementing a Queue
- Implementing a Queue with a Circular Linked List
- Implementing a Deque with a Doubly Linked List
- Adding Elements to a Set
- Performing Set Operations
- Using a Sorting Function
- Using the len() Built-In Function
- Performing Pattern Matching
03 / Preguntas frecuentes
Preguntas antes de empezar
Is this course suitable for beginners?+
What are the prerequisites for this Python DSA course?+
Will this course help in competitive programming?+
How will this course help in my career?+
Can I use this knowledge in other programming languages?+
Is this course relevant to data science or machine learning?+
Problems, Python, and Solutions
Learn to write smart, clean Python code to solve data analytic problems using our data algorithm and structures courses.
- 1 año de acceso completo
- 35 LiveLab incluido
- Certificado de finalización
No se requiere tarjeta de crédito