Sorting, Searching, Graphs, DP гээд олимпиадад хэрэгтэй алгоритм бүгд энд байна. Алгоритм бүр яаж ажилладгийг алхам алхмаар нь харж, C++ кодыг нь мөр мөрөөр нь дагаад, дараа нь өөрөө бодоод үзээрэй.

Sorting

7

Searching

5

Array Techniques (Prefix Sum, Two Pointers)

7

Data Structures (Stack, Queue, Tree)

11

Recursion & Backtracking

7

Graphs (BFS, DFS, Shortest Path)

21
Advanced & Legend

Dynamic Programming (DP)

8

Greedy

1

Math (Number Theory)

13

Strings

5

Geometry

5
Хурдны харьцуулалт

Аль алгоритм хурдан бэ?

Өгөгдөл ихсэх тусам алгоритм хэр удаан ажиллаж, хэр их санах ой авдгийг энд харьцуулна. n гэдэг нь оролтын хэмжээ.

  1. Агшин зуурO(1)
  2. Маш хурданO(log n)
  3. ХурданO(n)
  4. ДундO(n log n)
  5. УдаанO(n²)
  6. Маш удаанO(2ⁿ)

Нийт 90 алгоритм

  • Basic Level
    ХурдУдаанO(n²)
    Санах ойO(1)
  • Basic Level
    ХурдУдаанO(n²)
    Санах ойO(1)
  • Basic Level
    ХурдУдаанO(n²); бараг эрэмбэлэгдсэн array-д O(n)
    Санах ойO(1)
  • Basic Level
    ХурдХурданO(n + k), k — хамгийн их утга
    Санах ойO(k)
  • Merge SortSorting
    Intermediate
    ХурдДундO(n log n)
    Санах ойO(n)
  • Quick SortSorting
    Intermediate
    ХурдДундДунджаар O(n log n); хамгийн муу нь O(n²)
    Санах ойДунджаар O(log n) (recursion)
  • Intermediate
    ХурдХурданДунджаар O(n), муу үед O(n²)
    Санах ойO(1)
  • Linear SearchSearching
    Basic Level
    ХурдХурданO(n)
    Санах ойO(1)
  • Binary SearchSearching
    Pre-Intermediate
    ХурдМаш хурданO(log n)
    Санах ойO(1)
  • Lower BoundSearching
    Pre-Intermediate
    ХурдМаш хурданO(log n)
    Санах ойO(1)
  • Intermediate
    ХурдДундO(n log S), S — нийлбэр
    Санах ойO(n)
  • Intermediate
    ХурдМаш хурданO(log n)
    Санах ойO(1)