Sobes.tech
Junior

რა არის რიგი პროგრამირების კონტექსტში?

sobes.tech AI

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

სია (Queue) არის აბსტრაქტული მონაცემთა ტიპი, რომელიც ახორციელებს FIFO (First-In, First-Out) პრინციპს, სადაც პირველი დამატებული ელემენტი იქნება პირველი ამოღებული.

ძირითადი ოპერაციები:

  • Enqueue: ელემენტის დამატება სიის ბოლოს.
  • Dequeue: ელემენტის ამოღება სიის დასაწყისიდან.
  • Peek/Front: ელემენტის მნიშვნელობის მიღება სიის დასაწყისში, მისი ამოღების გარეშე.
  • IsEmpty: შემოწმება, არის თუ არა სია ცარიელი.
  • Size: მიმდინარე ელემენტების რაოდენობის მიღება.

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

  • ოპერაციული სისტემების დავალებების მართვა.
  • ვებ სერვერებზე მოთხოვნების დამუშავება.
  • გრაფების გადალახვის ალგორითმები (BFS - Breadth-First Search).
  • მონაცემთა სერიული დამუშავებისთვის ბუფერები.

იმპლემენტაცია შეიძლება იყოს დაფუძნებული მასივებზე ან დაკავშირებულ სიებზე.

# Python-ში სიის გამოყენებით სიის მაგალითი
class Queue:
    def __init__(self):
        self.items = []

    def is_empty(self):
        return self.items == []

    def enqueue(self, item):
        self.items.append(item) # დასასრული დამატება

    def dequeue(self):
        if not self.is_empty():
            return self.items.pop(0) # დასაწყისიდან ამოღება
        return None

    def peek(self):
        if not self.is_empty():
            return self.items[0]
        return None

    def size(self):
        return len(self.items)