Index

Related


Introduzione

L’accesso progressivo a tutti i nodi di un albero si chiama visita dell’albero.

Tipi di visite

Nel caso degli alberi binari, nei quali i figli di ogni nodo (e quindi i sottoalberi) sono al massimo due, le possibili decisioni in merito a questa scelta danno luogo a tre diverse visite:

Esempio

  • Preordine:
  • Inordine:
  • Postordine:

Visita in preordine (preorder)

Nella visita in preordine il nodo è visitato prima di proseguire la visita nei suoi sottoalberi.

Ordine

Esempio:

Esempio Stampa

def StampaABPreorder(p):
  if p == none: return None
  
  print(p.key)
  StampaABPreorder(p.left)
  StampaABPreorder(p.right)

Visita inordine (inorder)

Nella visita inordine il nodo corrente è visitato dopo la visita del sottoalbero sinistro e prima di quella del sottoalbero destro.

Ordine

Esempio:

Esempio Stampa

def StampaABInorder(p):
  if p == none: return None
  
  StampaABPreorder(p.left)
  print(p.key)
  StampaABPreorder(p.right)

Visita postordine (postorder)

Nella visita in postordine il nodo corrente è visitato dopo entrambe le visite dei sottoalberi.

Ordine

Esempio:

Esempio Stampa

def StampaABPostorder(p):
  if p == none: return None
  
  StampaABPreorder(p.left)
  StampaABPreorder(p.right)
  print(p.key)

Costo temporale delle visite

Indipendentemente del tipo di visita che utilizziamo, visitare interamente un albero binario un albero binario richiede .

Nel caso di un albero binario rappresentato attraverso un record a puntatori, l’ equazione di ricorrenza della visita dell’albero è:


Visite per Livelli


Applicazione delle visite

Le visite sono estremamente utili per ispezionare l’albero e dedurne delle proprietà.

A seconda delle proprietà che si vuole esaminare può essere più utile una delle tre visite considerate

Esempi di visite: Esercizi visite alberi binari 🟢