1-mavzu. Kirish. O‘zgaruvchilar va strukturalar haqida tushuncha
  1. Dasturlash va ma’lumotlar tuzilmalarining oʻrni.
  2. Oddiy va murakkab oʻzgaruvchilar turlari. Struktura tushunchasi va amaliy qoʻllanilishi.
  3. C++ da shaxsiy ma’lumot turlarini yaratish. (typedef, use, struct, union, class).
2-mavzu. Xotira boshqaruvi va ko‘rsatkichlar
  1. Kompyuter xotira tuzilishi va resurslardan foydalanish. Koʻrsatkichlar tushunchasi va ularning turlari.
  2. Dinamik xotira ajratish: new va delete operatorlari.
  3. Xotira samaradorligi va xatoliklar (memory leak).
3-mavzu. Dinamik massiv, vektor, stek va to‘plam ma’lumot turlari.
  1. Dinamik massiv tushunchasi va afzalliklari. Vektor ma’lumot turi va STL bilan ishlash.
  2. Stek (LIFO) ma’lumot tuzilmasi va amaliy qoʻllanilishi.
  3. Toʻplam (Set) ma’lumot turi va xususiyatlari.
4-mavzu. Roʻyxat haqida tushuncha. Bir tomonlama va ikki tomonlama roʻyxatlar. Navbat haqida tushuncha.
  1. Roʻyxat haqida tushuncha, bir yoki tomonlama roʻyxatlar. Roʻyxatning massivdan farqlari.
  2. Navbat (FIFO), Priority Queue ma’lumot tuzilmalari.
  3. Roʻyxat va navbatlarning dasturlashdagi oʻrni.
5-mavzu. Saralash, qidirish va sonlar bilan ishlash algoritmlari.
  1. Saralash algoritmlari, Qidirish algoritmlari.
  2. Sonlar bilan ishlash va matematik amallarni optimallashtirish algoritmlari.
  3. C++ algorithm kutubxonasi imkoniyatlari. Algoritmlarning vaqt murakkabligi.
6-mavzu. Daraxtlar haqida tushuncha. BST va AVL daraxtlari.
  1. Daraxt tushunchasi va asosiy terminlari, Binary Search Tree (BST) qidirish algoritmi.
  2. AVL daraxtlari va muvozanatlashgan tuzilmalar.
  3. Daraxtlarda qidirish, qoʻshish va oʻchirish algoritmlari.
7-mavzu. Graf tushunchasi va ifodalanish usullari.
  1. Graf haqida tushuncha va uni ifodalash usullari.
  2. Qisqa yoʻlni topish algoritmlari: Dijkstra, Floyd.
  3. Oqimni boshqarish algoritmlari: Ford-Fulkerson.