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)