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