Sobes.tech
Junior

რა მონაცემთა სტრუქტურები არსებობს?

sobes.tech AI

პასუხი AI-სგან

მასივები, სია, სტეკები, რიგები, ხეები, გრაფები, ჰეშ-ცხრილები.

მასივი: ერთ ტიპის ელემენტების კოლექცია, რომელიც ინახება მეხსიერების მიმდებარე უჯრებში. წვდომა ინდექსით.

სია: ელემენტების სერიული კოლექცია. შეიძლება იყოს მარტივი ან ორმხრივი დაკავშირებული. დამატება/წაშლა შუაში უფრო ეფექტურია, ვიდრე მასივში.

სტეკი: LIFO (Last-In, First-Out) სტრუქტურა. ოპერაციები: push (დამატება), pop (მოკლება ბოლოიდან), peek (მხედველობა ზედა ელემენტზე).

რიგი: FIFO (First-In, First-Out) სტრუქტურა. ოპერაციები: enqueue (დამატება ბოლოს), dequeue (მოკლება დასაწყისიდან), peek (პირველი ელემენტის ნახვა).

ხე: ჰიერქრიული მონაცემთა სტრუქტურა. ფესვი, კვანძები, შთამომავლები. მაგალითი: ბინარული ძიების ხე.

გრაფი: ვერტიკალების (კვანძების) ნაკრები, რომლებიც დაკავშირებულია კიდეებით. შეიძლება იყოს მიმართულებული ან არამიმართულებელი, წონიანი ან ულითმეტო.

ჰეშ-ცხრილი: გასაღები-ღირებულების წყვილების კოლექცია. იყენებს ჰეშ-ფუნქციას სწრაფი წვდომისთვის (საშუალოდ). შეიძლება იყოს კოლიზიები.

iOS-ში გამოყენების მაგალითები:

  • მასივები: Array
  • სიები: არ არსებობს შიდა კლასი, რეალიზება ხდება მასივების ან მომხმარებლის მიერ შექმნილი სტრუქტურების საფუძველზე
  • სტეკები/რიგები: რეალიზება ხდება მასივების ან სიების საფუძველზე
  • ხეები: გამოიყენება ჩარჩოებში, მაგალითად, UI-ში (ხილვის ჰიერქრია)
  • გრაფები: კავშირების გამოსახატავად, მაგალითად, ქსელებში
  • ჰეშ-ცხრილები: Dictionary, Set
// მაგალითი მასივი
let numbers = [1, 2, 3, 4, 5]
print(numbers[0]) // წვდომა ინდექსით

// მაგალითი სიტყვოვნება (ჰეშ-ცხრილი)
let grades = ["Alice": 95, "Bob": 88]
print(grades["Alice"] ?? 0) // წვდომა გასაღებით