Σ
💻 For developers

Algorithms & Data Structures

Complexity, arrays, hashes, recursion, search — for interviews

What you'll build
📘A solid foundation
⚡Practice in the browser
🎯Mini-projects
🎓Course certificate
📘 30 lessons⏱ 1-2 evenings🎓 Advanced
🎯 Mission
Master Algorithms & Data Structures
⚡+350XP
🏆CertificatePDF
🎓Course complete
Progress0 / 30 · 0%
Next up: What is Big-O?

Course program

01

Big-O: сложность

0 / 5 lessons
⌄
  1. 01

    What is Big-O?

    Big-O notation•Growth rate•Worst case⚡ +10
    ▶ Now
  2. 02

    Comparing O(1) and O(n)

    Direct access•Linear traversal•Timing⚡ +10
    Open
  3. 03

    O(n²): nested loops

    Nested loop•All pairs•Quadratic growth⚡ +10
    Open
  4. 04

    O(log n): logarithmic complexity

    Logarithm•Halving•Binary search⚡ +10
    🔒 Pro
  5. 05

    Big-O: summary table

    Comparing classes•Rule of thumb•Efficient code⚡ +10
    🔒 Pro
02

Алгоритмы поиска

0 / 3 lessons
⌄
  1. 06

    Linear search

    Linear search•O(n) complexity•Returning the index⚡ +10
    🔒 Pro
  2. 07

    Binary search

    Binary search•Sorted list•O(log n)⚡ +10
    🔒 Pro
  3. 08

    Python’s built-in search tools

    The in operator•The index() method•The bisect module⚡ +10
    🔒 Pro
03

Алгоритмы сортировки

0 / 5 lessons
⌄
  1. 09

    Bubble sort

    Bubble sort•Pairwise comparison•O(n²)⚡ +10
    🔒 Pro
  2. 10

    Selection sort

    Selecting the minimum•Swapping positions•O(n²)⚡ +10
    🔒 Pro
  3. 11

    Insertion sort

    Insertion sort•Shifting elements•Small data⚡ +10
    🔒 Pro
  4. 12

    Python: sorted() and sort()

    The sorted() function•The sort() method•The key parameter⚡ +10
    🔒 Pro
  5. 13

    Sorting by a key

    The key parameter•lambda function•Sorting objects⚡ +10
    🔒 Pro
04

Рекурсия

0 / 5 lessons
⌄
  1. 14

    What is recursion?

    Calling itself•Base case•Stack limit⚡ +10
    🔒 Pro
  2. 15

    Recursive factorial

    Factorial•Returning a value•Recursive formula⚡ +10
    🔒 Pro
  3. 16

    Recursive Fibonacci

    Fibonacci numbers•Double recursion•Memoization⚡ +10
    🔒 Pro
  4. 17

    Recursive list processing

    Recursive list traversal•Head and tail•Accumulation⚡ +10
    🔒 Pro
  5. 18

    Recursion vs loop

    Recursion vs loop•When recursion?•Stack memory⚡ +10
    🔒 Pro
05

Структуры данных

0 / 5 lessons
⌄
  1. 19

    Stack

    LIFO principle•append and pop•Where it is used⚡ +10
    🔒 Pro
  2. 20

    Queue

    FIFO principle•Using deque•Modeling a queue⚡ +10
    🔒 Pro
  3. 21

    Hash table (dict)

    The dict structure•O(1) lookup•Key-value pairs⚡ +10
    🔒 Pro
  4. 22

    Set and its properties

    The set structure•O(1) check•No duplicates⚡ +10
    🔒 Pro
  5. 23

    Choosing a data structure

    What when?•Optimal choice•Real examples⚡ +10
    🔒 Pro
06

Классические паттерны

0 / 7 lessons
⌄
  1. 24

    The two-pointer pattern

    Two pointers•Sorted list•O(n) solution⚡ +10
    🔒 Pro
  2. 25

    Sliding Window

    Sliding window•Fixed size•Maximum sum⚡ +10
    🔒 Pro
  3. 26

    Anagram check

    Character frequency•Counter or dict•Comparing strings⚡ +10
    🔒 Pro
  4. 27

    Longest substring without repeats

    Sliding window•Tracking with a set•A classic problem⚡ +10
    🔒 Pro
  5. 28

    Frequency problems

    Frequency counter•Counter.most_common•k most frequent⚡ +10
    🔒 Pro
  6. 29

    Prefix sum

    Prefix sum•Precomputation•O(1) range query⚡ +10
    🔒 Pro
  7. 30

    Algorithms: final lesson

    Wrap-up practice•A mixed problem•Choosing an algorithm
    Course complete
    🔒 Pro