Σ
💻 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 lessons1-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 notationGrowth rateWorst case⚡ +10
    ▶ Now
  2. 02

    Comparing O(1) and O(n)

    Direct accessLinear traversalTiming⚡ +10
    Open
  3. 03

    O(n²): nested loops

    Nested loopAll pairsQuadratic growth⚡ +10
    Open
  4. 04

    O(log n): logarithmic complexity

    LogarithmHalvingBinary search⚡ +10
    🔒 Pro
  5. 05

    Big-O: summary table

    Comparing classesRule of thumbEfficient code⚡ +10
    🔒 Pro
02

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

0 / 3 lessons
  1. 06

    Linear search

    Linear searchO(n) complexityReturning the index⚡ +10
    🔒 Pro
  2. 07

    Binary search

    Binary searchSorted listO(log n)⚡ +10
    🔒 Pro
  3. 08

    Python’s built-in search tools

    The in operatorThe index() methodThe bisect module⚡ +10
    🔒 Pro
03

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

0 / 5 lessons
  1. 09

    Bubble sort

    Bubble sortPairwise comparisonO(n²)⚡ +10
    🔒 Pro
  2. 10

    Selection sort

    Selecting the minimumSwapping positionsO(n²)⚡ +10
    🔒 Pro
  3. 11

    Insertion sort

    Insertion sortShifting elementsSmall data⚡ +10
    🔒 Pro
  4. 12

    Python: sorted() and sort()

    The sorted() functionThe sort() methodThe key parameter⚡ +10
    🔒 Pro
  5. 13

    Sorting by a key

    The key parameterlambda functionSorting objects⚡ +10
    🔒 Pro
04

Рекурсия

0 / 5 lessons
  1. 14

    What is recursion?

    Calling itselfBase caseStack limit⚡ +10
    🔒 Pro
  2. 15

    Recursive factorial

    FactorialReturning a valueRecursive formula⚡ +10
    🔒 Pro
  3. 16

    Recursive Fibonacci

    Fibonacci numbersDouble recursionMemoization⚡ +10
    🔒 Pro
  4. 17

    Recursive list processing

    Recursive list traversalHead and tailAccumulation⚡ +10
    🔒 Pro
  5. 18

    Recursion vs loop

    Recursion vs loopWhen recursion?Stack memory⚡ +10
    🔒 Pro
05

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

0 / 5 lessons
  1. 19

    Stack

    LIFO principleappend and popWhere it is used⚡ +10
    🔒 Pro
  2. 20

    Queue

    FIFO principleUsing dequeModeling a queue⚡ +10
    🔒 Pro
  3. 21

    Hash table (dict)

    The dict structureO(1) lookupKey-value pairs⚡ +10
    🔒 Pro
  4. 22

    Set and its properties

    The set structureO(1) checkNo duplicates⚡ +10
    🔒 Pro
  5. 23

    Choosing a data structure

    What when?Optimal choiceReal examples⚡ +10
    🔒 Pro
06

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

0 / 7 lessons
  1. 24

    The two-pointer pattern

    Two pointersSorted listO(n) solution⚡ +10
    🔒 Pro
  2. 25

    Sliding Window

    Sliding windowFixed sizeMaximum sum⚡ +10
    🔒 Pro
  3. 26

    Anagram check

    Character frequencyCounter or dictComparing strings⚡ +10
    🔒 Pro
  4. 27

    Longest substring without repeats

    Sliding windowTracking with a setA classic problem⚡ +10
    🔒 Pro
  5. 28

    Frequency problems

    Frequency counterCounter.most_commonk most frequent⚡ +10
    🔒 Pro
  6. 29

    Prefix sum

    Prefix sumPrecomputationO(1) range query⚡ +10
    🔒 Pro
  7. 30

    Algorithms: final lesson

    Wrap-up practiceA mixed problemChoosing an algorithm
    Course complete
    🔒 Pro
Algorithms & Data Structures — online coding course