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)