Sobes.tech
Junior

Qaysi ma'lumotlar tuzilmalari mavjud?

sobes.tech AI

AIdan javob

Massivlar, ro'yxatlar, steklar, navbatlar, daraxtlar, graflar, xesh-jadvallar.

Massiv: Bir xil turdagi elementlarning to'plami, xotira hujayralarida yonma-yon saqlanadi. Indeks bo'yicha kirish.

Ro'yxat: Elementlarning ketma-ket to'plami. Bir tomonlama yoki ikki tomonlama bo'lishi mumkin. O'rtadagi qo'shish/o'chirish samaraliroq, dizidan ko'ra.

Stek: LIFO (Last-In, First-Out) tuzilma. Operatsiyalar: push (qo'shish), pop (oxiridan o'chirish), peek (yuqoridagi elementni ko'rish).

Navbat: FIFO (First-In, First-Out) tuzilma. Operatsiyalar: enqueue (oxiriga qo'shish), dequeue (boshtan o'chirish), peek (birinchi elementni ko'rish).

Daraxt: Ma'lumotlarning hierarxik tuzilmasi. O'simlik, tugunlar, vorislari. Misol: ikki tomonlama qidiruv daraxti.

Graf: Tugunlar (yoki nuqtalar) to'plami, ularni bog'lovchi qirralar bilan. Yo'naltirilgan yoki yo'naltirilmagan, og'irlikli yoki og'irliksiz bo'lishi mumkin.

Xesh-jadval: Kalit-qiymat juftliklarining to'plami. Tezkor kirish uchun xesh-funksiyani ishlatadi. Koliziyalar bo'lishi mumkin.

iOSda foydalanish misollari:

  • Massivlar: Array
  • Ro'yxatlar: ichki sinf yo'q, arraylar yoki maxsus tuzilmalar asosida amalga oshiriladi
  • Steklar/Navbatlar: arraylar yoki ro'yxatlar asosida amalga oshiriladi
  • Daraxtlar: frameworklarda ishlatiladi, masalan, UI (ko'rinishlar hierarxiyasi)
  • Graflar: bog'lanishlarni ifodalash uchun, masalan, tarmoqlar
  • Xesh-jadval: Dictionary, Set
// Misol uchun massiv
let numbers = [1, 2, 3, 4, 5]
print(numbers[0]) // Indeks bo'yicha kirish

// Misol uchun lug'at (xesh-jadval)
let grades = ["Alice": 95, "Bob": 88]
print(grades["Alice"] ?? 0) // Kalit bo'yicha kirish