Algorithms and Data Structures in Python

  • Basic

  • 32 lessons

  • 12 hours

Learn to solve algorithmic problems in Python and confidently use arrays, dictionaries, graphs, trees, and dynamic programming.

Course overview

This course helps beginner backend developers confidently solve algorithmic problems in Python. You will learn complexity analysis, core data structures, search techniques, graph and tree traversals, heaps, and dynamic programming. Each lesson combines theory with hands-on practice in the UPSHELL trainer with automated checks, an AI mentor, a browser-based code editor, and SSH access to an isolated environment.

You will learn
  • Evaluate algorithm complexity by time and memory

  • Apply Python data structures to common problems

  • Solve problems involving graphs, trees, and dynamic programming

  • Use two pointers, sliding window, and heap techniques

Table of contents

Course Basics and Big O

Practice

Arrays and Strings

Practice

Two Pointers

Practice

Sliding Window

Practice

Prefix Sums

Practice

Binary Search

Practice

Dicts and Sets

Practice

Frequency Counting

Practice

Grouping and Indexing

Practice

String Hashing

Practice

Top-K and Heaps

Practice

LRU Cache with Dict

Practice

Stack and Its Uses

Practice

Monotonic Stack

Practice

Queue and deque

Practice

Monotonic Queue

Practice

Heap and heapq

Practice

Linked List

Practice

Two Pointers in List

Practice

Recursion on Trees

Practice

Tree Traversals

Practice

Binary Search Tree

Practice

Graph Representation

Practice

Depth-First Search

Practice

Breadth-First Search

Practice

Topological Sort

Practice

Shortest Paths

Practice

Union-Find

Practice

DP Basics

Practice

DP on Arrays

Practice

DP on Strings

Practice

Knapsack and States

Practice

  • image-loading

  • image-loading

  • image-loading

  • image-loading

Frequently Asked Questions

A subscription to the platform gives you unlimited access to all courses, as well as access to an online trainer with practical exercises.

Additionally, with a Premium subscription or higher, you also get access to all pet projects and the opportunity to take technical interviews with an AI mentor.

You can cancel your subscription at any time, and you will still have access to the platform for the paid period. You can do this through your personal account in the 'Subscription Management' section.

Yes, you can upgrade to a new plan at any time. We will provide a discount based on the unused time of your current plan. You can change your plan in your personal account.

To request a refund for a paid plan, please contact us at support@upshell.io. We will process your refund for the unused portion of your subscription within 5 business days.

Get access to 23+ courses for backenders with Subscription

Get access to *23+ courses* for backenders with *Subscription*
Have an account?