CodeDala
Home
Courses
Paths
Marketplace
How it works
Pricing
🌐
KZ
RU
EN
Log in
Start free
Order a project
Σ
💻 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
⚡
+350
XP
🏆
Certificate
PDF
🎓
Course complete
Progress
0 / 30 · 0%
Next up:
What is Big-O?
Start the project →
Course program
01
Big-O: сложность
0 / 5 lessons
⌄
01
What is Big-O?
Big-O notation
•
Growth rate
•
Worst case
⚡ +10
▶ Now
02
Comparing O(1) and O(n)
Direct access
•
Linear traversal
•
Timing
⚡ +10
Open
03
O(n²): nested loops
Nested loop
•
All pairs
•
Quadratic growth
⚡ +10
Open
04
O(log n): logarithmic complexity
Logarithm
•
Halving
•
Binary search
⚡ +10
🔒 Pro
05
Big-O: summary table
Comparing classes
•
Rule of thumb
•
Efficient code
⚡ +10
🔒 Pro
02
Алгоритмы поиска
0 / 3 lessons
⌄
06
Linear search
Linear search
•
O(n) complexity
•
Returning the index
⚡ +10
🔒 Pro
07
Binary search
Binary search
•
Sorted list
•
O(log n)
⚡ +10
🔒 Pro
08
Python’s built-in search tools
The in operator
•
The index() method
•
The bisect module
⚡ +10
🔒 Pro
03
Алгоритмы сортировки
0 / 5 lessons
⌄
09
Bubble sort
Bubble sort
•
Pairwise comparison
•
O(n²)
⚡ +10
🔒 Pro
10
Selection sort
Selecting the minimum
•
Swapping positions
•
O(n²)
⚡ +10
🔒 Pro
11
Insertion sort
Insertion sort
•
Shifting elements
•
Small data
⚡ +10
🔒 Pro
12
Python: sorted() and sort()
The sorted() function
•
The sort() method
•
The key parameter
⚡ +10
🔒 Pro
13
Sorting by a key
The key parameter
•
lambda function
•
Sorting objects
⚡ +10
🔒 Pro
04
Рекурсия
0 / 5 lessons
⌄
14
What is recursion?
Calling itself
•
Base case
•
Stack limit
⚡ +10
🔒 Pro
15
Recursive factorial
Factorial
•
Returning a value
•
Recursive formula
⚡ +10
🔒 Pro
16
Recursive Fibonacci
Fibonacci numbers
•
Double recursion
•
Memoization
⚡ +10
🔒 Pro
17
Recursive list processing
Recursive list traversal
•
Head and tail
•
Accumulation
⚡ +10
🔒 Pro
18
Recursion vs loop
Recursion vs loop
•
When recursion?
•
Stack memory
⚡ +10
🔒 Pro
05
Структуры данных
0 / 5 lessons
⌄
19
Stack
LIFO principle
•
append and pop
•
Where it is used
⚡ +10
🔒 Pro
20
Queue
FIFO principle
•
Using deque
•
Modeling a queue
⚡ +10
🔒 Pro
21
Hash table (dict)
The dict structure
•
O(1) lookup
•
Key-value pairs
⚡ +10
🔒 Pro
22
Set and its properties
The set structure
•
O(1) check
•
No duplicates
⚡ +10
🔒 Pro
23
Choosing a data structure
What when?
•
Optimal choice
•
Real examples
⚡ +10
🔒 Pro
06
Классические паттерны
0 / 7 lessons
⌄
24
The two-pointer pattern
Two pointers
•
Sorted list
•
O(n) solution
⚡ +10
🔒 Pro
25
Sliding Window
Sliding window
•
Fixed size
•
Maximum sum
⚡ +10
🔒 Pro
26
Anagram check
Character frequency
•
Counter or dict
•
Comparing strings
⚡ +10
🔒 Pro
27
Longest substring without repeats
Sliding window
•
Tracking with a set
•
A classic problem
⚡ +10
🔒 Pro
28
Frequency problems
Frequency counter
•
Counter.most_common
•
k most frequent
⚡ +10
🔒 Pro
29
Prefix sum
Prefix sum
•
Precomputation
•
O(1) range query
⚡ +10
🔒 Pro
30
Algorithms: final lesson
Wrap-up practice
•
A mixed problem
•
Choosing an algorithm
🎓
Course complete
🔒 Pro
Algorithms & Data Structures — online coding course