NEW
Font size
WorksheetsQuiz sugli Alberi Binari C#
Total questions: 21
Worksheet time: 11mins
Quale delle seguenti affermazioni descrive correttamente un albero binario completo?
Ogni livello tranne l'ultimo è completamente riempito.
Ogni nodo ha due figli e tutte le foglie sono allo stesso livello.
Ogni nodo ha il valore maggiore di tutti i suoi discendenti sinistri.
Ogni nodo ha solo un figlio.
In un albero binario di ricerca (BST), quale regola deve essere rispettata dai valori dei nodi?
Ogni nodo ha il valore maggiore di tutti i suoi discendenti sinistri e minore di quelli destri.
Ogni nodo ha due figli.
Tutti i nodi hanno lo stesso valore.
Ogni livello è completamente riempito.
Qual è la differenza principale tra un albero binario perfetto e un albero binario completo?
In un albero perfetto tutte le foglie sono allo stesso livello, mentre in un albero completo solo l’ultimo livello può non essere pieno.
In un albero perfetto ogni nodo ha un solo figlio, mentre in un albero completo ogni nodo ha due figli.
In un albero perfetto i valori sono ordinati, mentre in un albero completo no.
Non c’è alcuna differenza.
Analizza la seguente definizione di classe Nodo in C#: quale dei seguenti campi rappresenta il figlio sinistro di un nodo?
public Nodo Sinistro;
public int Valore;
public Nodo Destro;
public Nodo Figlio;
Supponendo di voler implementare un algoritmo di inserimento in un BST, quale proprietà fondamentale dell’albero binario di ricerca devi rispettare durante l’inserimento di un nuovo nodo?
Il valore del nuovo nodo deve essere inserito a sinistra se minore e a destra se maggiore rispetto al nodo corrente.
Il nuovo nodo deve essere sempre inserito come figlio sinistro.
Il nuovo nodo deve essere sempre inserito come figlio destro.
Il nuovo nodo deve essere inserito solo se il livello è pieno.
Quale delle seguenti sequenze rappresenta correttamente la visita Preorder di un albero binario?
nodo -> sinistro -> destro
sinistro -> nodo -> destro
sinistro -> destro -> nodo
destro -> nodo -> sinistro
Durante la cancellazione di un nodo in un BST, cosa succede se il nodo da eliminare ha un solo figlio?
Si elimina direttamente
Si sostituisce con il figlio
Si scambia con la radice
Si lascia invariato
Quale condizione viene verificata per decidere se inserire un nuovo valore nel sottoalbero sinistro durante l'inserimento in un BST?
Se valore > radice.Valore
Se valore < radice.Valore
Se valore == radice.Valore
Se radice è una foglia
Supponiamo di voler cercare un valore in un BST. Se il valore cercato è minore di radice.Valore, quale sarà il prossimo passo?
Cercare nel sottoalbero destro
Restituire true
Cercare nel sottoalbero sinistro
Restituire false
Confronta le visite Inorder e Postorder di un albero binario. Qual è la principale differenza nell'ordine di visita del nodo?
In Inorder il nodo viene visitato per primo, in Postorder per ultimo
In Inorder il nodo viene visitato per ultimo, in Postorder per primo
In Inorder il nodo viene visitato tra sinistro e destro, in Postorder dopo sinistro e destro
In Inorder il nodo viene visitato dopo destro, in Postorder dopo sinistro
Qual è lo scopo della visita inorder in un albero binario di ricerca (BST) dopo aver inserito una lista di numeri?
Verificare l'ordinamento crescente dei numeri inseriti
Calcolare la profondità massima dell'albero
Trovare il nodo con il valore minimo
Controllare se l'albero è bilanciato
Quale suggerimento viene dato per verificare se un albero binario è effettivamente un BST?
Controllare che ogni nodo rispetti i vincoli di massimo e minimo rispetto ai suoi antenati
Calcolare la profondità massima dell’albero
Eseguire una visita preorder
Trovare il nodo con due figli
Qual è il risultato della funzione Profondita(Nodo nodo) se il nodo passato è null?
0
1
-1
Math.Max
Perché si utilizza Math.Max(sin, des) + 1 nella funzione Profondita?
Per determinare la profondità massima tra i sottoalberi sinistro e destro e aggiungere il nodo corrente
Per trovare il valore minimo nell’albero
Per ordinare i nodi in modo crescente
Per verificare se l’albero è un BST
Supponendo di avere una lista di numeri interi, quale sarebbe il primo passo per creare un BST secondo l’esercizio 1?
Leggere la lista da tastiera e inserire ogni numero nell’albero binario di ricerca
Calcolare la profondità massima dell’albero
Verificare se l’albero è bilanciato
Stampare la lista in ordine decrescente
Qual è la complessità temporale media per cercare un valore in un albero binario di ricerca (BST) bilanciato?
O(n)
O(log n)
O(n log n)
O(1)
Quale metodo viene utilizzato per rimuovere un nodo con due figli in un BST?
Rimuovi solo il figlio sinistro
Trova il nodo successore e sostituisci
Scambia con il nodo padre
Elimina direttamente il nodo
Qual è la funzione principale della visita Postorder in un albero binario?
Stampare i nodi in ordine crescente
Eliminare i nodi foglia
Calcolare la profondità dell'albero
Visitare i nodi dopo aver visitato i figli
Qual è il risultato della visita Postorder in un albero binario di ricerca (BST) dopo aver inserito una lista di numeri?
Stampare i nodi in ordine crescente
Stampare i nodi in ordine decrescente
Visitare i nodi dopo aver visitato i figli
Calcolare la profondità dell'albero
Quale delle seguenti affermazioni è vera riguardo alla complessità temporale di un albero binario di ricerca (BST) non bilanciato?
La complessità è O(n) nel caso peggiore
La complessità è sempre O(log n)
La complessità è O(n log n)
La complessità è O(1) per tutte le operazioni
Durante l'inserimento di un nuovo nodo in un BST, cosa succede se il valore del nuovo nodo è uguale al valore di un nodo esistente?
Il valore esistente viene aggiornato
Il nuovo nodo viene inserito a destra
Il nuovo nodo viene inserito a sinistra
Il nuovo nodo viene ignorato
