Amaliy mavzularni o`zgartirish: Navbat maʼlumot tuzilmasi bilan ishlash
1-mavzu. Oʻzgaruvchilar bilan ishlash
- typedef, use kalit soʻzlari yordamida oʻzgaruvchi turlarini qayta nomlash
- Bir turdan boshqa turga oʻtkazish usullari
- Oʻzgaruvchilar bilan ishlaganda uchrashi mumkin boʻlgan xatoliklar
2-mavzu. Strukturalar yaratish va qoʻllash
- Struct, union, class eʼlon qilish va obyekt yaratish
- Ichma-ich strukturalar bilan ishlash
- Strukturalarni amaliy masalalarda qoʻllash
3-mavzu. Koʻrsatkichlar bilan ishlash asoslari
- Oddiy koʻrsatkichlarni e’lon qilish
- Adreslash operatorlari (& va *). Koʻrsatkich orqali qiymat almashish
- Struktura koʻrsatkichlarini yaratish
4-mavzu. Dinamik xotira boshqaruvi, dinamik massivlar bilan ishlash
- new/delete operatorlarini qoʻllash. Xotira ajratish va ozod qilish amaliyoti
- Xotira oqimlarini tahlil qilish. Bir oʻlchovli massiv yaratish
- Ikki oʻlchovli massiv yaratish. Dinamik massiv ustida amallar bajarish
5-mavzu. Vektor maʼlumot tuzilmasi bilan ishlash
- Vector yaratish va element qoʻshish
- Vector metodlari bilan ishlash
- STL vektorlarini amaliy masalalarda qoʻllash
6-mavzu. Stek maʼlumot tuzilmasi bilan ishlash
- Stek ma’lumot tuzilmasini strukturasini yaratish
- Stek yaratish va element qoʻshish/olib tashlash
- STL stek metodlari bilan ishlash. Amaliy masalalar yechimi
7-mavzu. Toʻplam maʼlumot tuzilmasi bilan ishlash
- Toʻplam ma’lumot tuzilmasi strukturasini yaratish va element qoʻshish
- Unikal elementlar bilan ishlash. STL Set metodlari bilan ishlash
- Set ustida qidiruv va oʻchirish amaliyoti
8-mavzu. Bir, ikki tomonlama roʻyxatlar bilan ishlash
- Node tuzilmasi yaratish. Element qoʻshish va chiqarish
- Roʻyxatni ekranga chiqarish
- STL forward_list, linked_list metodlari bilan ishlash
9-mavzu. Navbat maʼlumot tuzilmasi bilan ishlash
- FIFO tamoyilini qoʻllash. Queue metodlari (enqueue, dequeue)
- Priority Queue tushunchasi
- STL priority_queue bilan ishlash. Amaliy masalalar
10-mavzu. Bubble sort algoritmini dasturlash
- Algoritm mantigʻi
- Kichik massivlarni saralash
- Samaradorlikni tahlil qilish
11-mavzu. Selection va Insertion sortni dasturlash
- Selection sort algoritmi
- Insertion sort algoritmi
- Natijalarni taqqoslash
12-mavzu. Merge sort algoritmini dasturlash
- Rekursiv yondashuv
- Merge funksiyasini yaratish
- Amaliy misollar
13-mavzu. Quick sort algoritmini dasturlash
- Pivot element tanlash
- Rekursiv boʻlinish jarayoni
- Amaliy tahlil
14-mavzu. Linear, Binary search algoritmini dasturlash
- Oddiy qidiruv mantigʻi. Massivda element qidirish
- Binar qidiruv shartlari va ishlash prinsipi. Massivda binar qidiruv
- Rekursiv va iterativ usul. Murakkablik tahlili
15-mavzu. Oddiy daraxt maʼlumot tuzilmasini yaratish
- Daraxt node tuzilmasi
- Daraxtga element qoʻshish
- Daraxtni koʻrsatish
16-mavzu. Binary Search Tree algoritmini dasturlash
- Daraxt node tuzilmasi
- Daraxtga element qoʻshish
- Daraxtni koʻrsatish. Murakkablik tahlili
17-mavzu. Binary Search Tree traversal algoritmlari
- In-order traversal algoritmi
- Pre-order traversal algoritmi
- Post-order traversal algoritmi
18-mavzu. AVL daraxti maʼlumot tuzilmasini yaratish
- Balanslash jarayonlari
- Chap va oʻng rotatsiyalar
- Amaliy misollar
19-mavzu. Graflarni ifodalash usullari
- Roʻyhat (adjacency list) va shaklida grafni ifodalash va murakkablik darajasi
- Node (tugun) shaklida graflarni koʻrsatish va koʻp darajali tarmoqlarda qoʻllanishi
- C++ dasturlash tilida graf elementlarini hosil qilish va chiqarish
20-mavzu. Graflarda qiymatlarni qidirish algoritmlari
- Eni boʻylab qidirish algoritmi (BFS) va uning amaliy ishlatilishi
- Chuqurlik boʻylab qidirish algoritmi (DFS) va rekursiv yondashuv
- BFS va DFS natijalarini tahlil qilish hamda amaliy masalalarda qoʻllash
21-mavzu. Qisqa yoʻlni topish – Dekstra algoritmi
- Qisqa yoʻlni topish, Deykstra algoritmining ishlash prinsipi
- C++ tilida oddiy va vaznli graflar uchun Deykstra algoritmini qoʻllash
- Transport yoʻllari va tarmoqlar uchun amaliy masalalar yechimi
22-mavzu. Qisqa yoʻlni topish – Floyd algoritmi
- Floyd–Warshall algoritmi va dinamik dasturlash asosida Floyd algoritmini ishlab chiqish.
- C++ tilida Floyd algoritmini dasturlash. Floyd va Deykstra algoritmlarini samaradorlik jihatidan taqqoslash.
- Amaliy masalalarda (shaharlararo yoʻl topish, tarmoq optimizatsiyasi) qoʻllash.
23-mavzu. Oqimni boshqarish – Ford–Fulkerson algoritmi
- Graflarda maksimal oqim masalasi Ford–Fulkerson algoritmi.
- C++ dasturlash tilida Ford–Fulkerson algoritmini amalga oshirish.
- Transport tizimlari, kommunikatsiya tarmoqlari va ishlab chiqarishda oqimni boshqarish masalalari.