Maʼlumotlar tuzilmasi va algoritmlar
Fanni animatsion tasvirlar, C++ kod misollari va amaliy topshiriqlar bilan bosqichma-bosqich oʻrganing. Har bir mavzu oldingisini yakunlagandan keyin ochiladi.
🎓 1-mavzu mehmonlar uchun ham ochiq — sinab koʻring! Progress saqlanishi uchun roʻyxatdan oʻting.
Oʻzgaruvchilar
Xotira katakchalari, maʼlumot tiplari, oʻzgaruvchilarni eʼlon qilish va ishlatish — barcha algoritmlar poydevori.
Massivlar
Bir xil tipdagi elementlarning xotirada ketma-ket joylashgan toʻplami: indeks orqali O(1) kirish, siljishlar narxi.
Strukturalar (struct)
Har xil tipdagi maʼlumotlarni bitta butunlikka birlashtirish — daraxt va roʻyxat tugunlarining asosi.
Vektorlar (dinamik massiv)
Oʻlchami oʻzi oʻsadigan massiv: std::vector, sigʻim strategiyasi va amortizatsiyalangan O(1).
Steklar
LIFO tamoyili: push, pop, top — funksiya chaqiruvlaridan qavslar tekshiruvigacha hamma joyda stek.
Navbatlar
FIFO tamoyili: enqueue, dequeue, aylanma navbat — printer navbatidan BFS gacha.
Qidiruv algoritmlari
Chiziqli va binar qidiruv: O(n) va O(log n) orasidagi ulkan farq.
Oddiy saralash algoritmlari
Bubble, selection va insertion sort — eng sodda saralash usullari, ularning O(n²) murakkabligi.
Rekursiv saralash algoritmlari
Merge sort va quick sort — «boʻl va hukmronlik qil» paradigmasi asosida O(n log n) tezlikda saralash.
Daraxtlar: BST va AVL
Ikkilik izlash daraxti va oʻzi balanslanuvchi AVL: O(log n) qidiruvning siri.
Graflar
Tugunlar va qirralar: graflarni saqlash usullari, BFS va DFS yurishlari yordamida tarmoqlarni oʻrganish.