Sobes.tech
Junior

Čo je fronta v kontexte programovania?

sobes.tech AI

Odpoveď od AI

Fronta (Queue) je abstraktný dátový typ, ktorý implementuje princíp FIFO (First-In, First-Out), kde prvý pridaný prvok bude prvým odstráneným.

Hlavné operácie:

  • Enqueue: Pridať prvok na koniec fronty.
  • Dequeue: Odstrániť prvok z začiatku fronty.
  • Peek/Front: Získať hodnotu prvku na začiatku fronty bez jeho odstránenia.
  • IsEmpty: Skontrolovať, či je fronta prázdna.
  • Size: Získať aktuálny počet prvkov vo fronte.

Príklady použitia:

  • Riadenie úloh v operačných systémoch.
  • Spracovanie požiadaviek na webových serveroch.
  • Algoritmy prechádzania grafom (BFS - Breadth-First Search).
  • Buffery pre sekvenčné spracovanie dát.

Implementácia môže byť založená na poliach alebo spojených zoznamoch.

# Príklad implementácie fronty s použitím zoznamu v Pythone
class Queue:
    def __init__(self):
        self.items = []

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

    def enqueue(self, item):
        self.items.append(item) # Pridať na koniec

    def dequeue(self):
        if not self.is_empty():
            return self.items.pop(0) # Odstrániť z začiatku
        return None

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

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