Array va List Topshiriqlari

1. Massivdagi Takrorlanuvchi Elementlar

Oson

Berilgan massivdagi takrorlanuvchi elementlarni toping va ularning sonini ko'rsating.

Input: [1, 2, 3, 2, 4, 1, 5]
Output: 1: 2 marta, 2: 2 marta

2. Massivni Aylantirish

O'rta

Massivni k pozitsiya o'ngga aylantiring.

Input: [1, 2, 3, 4, 5], k=2
Output: [4, 5, 1, 2, 3]

Stack va Queue Topshiriqlari

3. Qavs Tekshirish

Oson

Berilgan stringdagi qavs belgilari to'g'ri yopilganligini tekshiring.

Input: "({[]})"
Output: true

Input: "({[})"
Output: false

4. Stack bilan Min Element

Qiyin

Stack yarating, bu stack har doim minimal elementni O(1) vaqtda qaytarishi kerak.

Tree va BST Topshiriqlari

5. Daraxt Balandligi

Oson

Binary tree ning balandligini hisoblang.

6. BST da k-inchi Kichik Element

O'rta

BST da k-inchi eng kichik elementni toping.

Graf Topshiriqlari

7. Tsikl Aniqlash

O'rta

Yo'naltirilgan grafda tsikl borligini aniqlang.

8. Eng Qisqa Yo'l (BFS)

O'rta

Og'irliksiz grafda ikki tugun orasidagi eng qisqa yo'lni toping.

Amaliy Loyihalar

Kalkulator (Stack)

Stack yordamida matematik ifodalarni hisoblash.

  • Postfix notation
  • Operator precedence
  • Qavs qayta ishlash

Undo/Redo (Stack)

Matn muharririda undo va redo funksiyalari.

  • Command pattern
  • Ikki stack
  • State management

Fayl Tizimi (Tree)

Fayl va papkalarni tree strukturasida saqlash.

  • Ierarxik tuzilma
  • Rekursiv o'tish
  • Qidiruv algoritmlari

Ijtimoiy Tarmoq (Graph)

Do'stlik munosabatlarini graf orqali ifodalash.

  • Graf yaratish
  • Umumiy do'stlar
  • Shortest path