Index

Related


Index

Related


Definizione

La Coda è una struttura dati che esibisce un comportamento FIFO (Last In First Out)

FIFO

Gli elementi vengono prelevati dalla coda nello stesso ordine con il quale vi sono stati inseriti.


Operazioni

Su una pila sono definite solo due operazioni:

Head & Tail

Per garantisce la proprietà FIFO l’operazione Enqueue opera su una estremità della coda (tail) e la Dequeue opera sull’altra estremità (head)


Enqueue (inserimento)

Implementazione lista python

def Inserimento(Coda, x):
  Coda.append(x)

Costo:

Implementazione linked list

Prende in input i puntatori alla testa e alla coda ed il valore da inserire e dopo aver inserito il nodo col nuovo valore in coda restituisce i puntatori alla testa ed alla coda

def Inserimento(testa, coda, x):
  p = Nodo(x)
  if coda == None
  	return p, p
  coda.next = p
  return testa, p

Costo:

Risultato operazione p = inserimento(testa, coda, 3):


Dequeue (estrazione)

Implementazione lista python

def Estrazione(Cosa):
  if Pila = []: 
  	return None
  return Pila.pop(0)

costo:

Implementazione linked list

Prende in input i puntatori alla testa e alla coda e dopo aver estratto il valore del nodo in testa lo restituisce con i puntatori alla testa ed alla coda

def Estrazione(testa, coda):
  if testa == None:                     # Caso len = 0
  	return None, None, None
  if testa == coda:                     # Caso len = 1
  	return testa.key, None, None
  return testa.key, testa.next, coda    # Caso len > 1

Costo:

Risultato operazione x, testa, coda = estrai(testa, coda):