Sorting, Searching, Graphs, DP гээд олимпиадад хэрэгтэй алгоритм бүгд энд байна. Алгоритм бүр яаж ажилладгийг алхам алхмаар нь харж, C++ кодыг нь мөр мөрөөр нь дагаад, дараа нь өөрөө бодоод үзээрэй.
Sorting
7Basic Level
Intermediate
Searching
5Pre-Intermediate
Array Techniques (Prefix Sum, Two Pointers)
7Pre-Intermediate
Data Structures (Stack, Queue, Tree)
11Pre-Intermediate
Intermediate
Advanced & Legend
Recursion & Backtracking
7Pre-Intermediate
Intermediate
Graphs (BFS, DFS, Shortest Path)
21Pre-Intermediate
Intermediate
Advanced & Legend
Dynamic Programming (DP)
8Intermediate
Greedy
1Math (Number Theory)
13Basic Level
Pre-Intermediate
Intermediate
Strings
5Advanced & Legend
Geometry
5Pre-Intermediate
Intermediate
Хурдны харьцуулалт
Аль алгоритм хурдан бэ?
Өгөгдөл ихсэх тусам алгоритм хэр удаан ажиллаж, хэр их санах ой авдгийг энд харьцуулна. n гэдэг нь оролтын хэмжээ.
- Агшин зуурO(1)
- Маш хурданO(log n)
- ХурданO(n)
- ДундO(n log n)
- УдаанO(n²)
- Маш удаанO(2ⁿ)
Нийт 90 алгоритм
- Bubble SortSortingBasic LevelХурдУдаан
O(n²)Санах ойO(1) - Selection SortSortingBasic LevelХурдУдаан
O(n²)Санах ойO(1) - Insertion SortSortingBasic LevelХурдУдаан
O(n²); бараг эрэмбэлэгдсэн array-д O(n)Санах ойO(1) - Counting SortSortingBasic LevelХурдХурдан
O(n + k), k — хамгийн их утгаСанах ойO(k) - Merge SortSortingIntermediateХурдДунд
O(n log n)Санах ойO(n) - Quick SortSortingIntermediateХурдДунд
Дунджаар O(n log n); хамгийн муу нь O(n²)Санах ойДунджаар O(log n) (recursion) - QuickselectSortingIntermediateХурдХурдан
Дунджаар O(n), муу үед O(n²)Санах ойO(1) - Linear SearchSearchingBasic LevelХурдХурдан
O(n)Санах ойO(1) - Binary SearchSearchingPre-IntermediateХурдМаш хурдан
O(log n)Санах ойO(1) - Lower BoundSearchingPre-IntermediateХурдМаш хурдан
O(log n)Санах ойO(1) - Binary Search on the AnswerSearchingIntermediateХурдДунд
O(n log S), S — нийлбэрСанах ойO(n) - Ternary SearchSearchingIntermediateХурдМаш хурдан
O(log n)Санах ойO(1)