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)