UN Struttura dei dati ad albero binario è una struttura dati gerarchica in cui ciascun nodo ha al massimo due figli, denominati figlio sinistro e figlio destro. È comunemente utilizzato in informatica per l'archiviazione e il recupero efficienti dei dati, con varie operazioni come inserimento, cancellazione e attraversamento.
Introduzione:
- Proprietà dell'albero binario
- Tipi di albero binario
- Applicazioni, vantaggi e svantaggi dell'albero binario
- Albero binario (implementazione dell'array)
- Albero binario completo
- Albero binario perfetto
Operazioni di base sull'albero binario:
- Attraversamenti degli alberi (in ordine, preordine e postordine)
- Attraversamento dell'albero dell'ordine dei livelli
- Trova la profondità o l'altezza massima di un determinato albero binario
- Inserimento in un albero binario
- Cancellazione in un albero binario
- Enumerazione di alberi binari
Alcuni altri importanti attraversamenti di alberi binari:
- Attraversamento dell'ordine dei livelli in forma a spirale
- Attraversamento inverso dell'ordine di livello
- BFS vs DFS per albero binario
- Attraversamento dell'albero in ordine senza ricorsione
- Attraversamento Morris per il preordine
- Attraversamento iterativo del preordine
- Attraversamento iterativo del postordine utilizzando due pile
- Attraversamento diagonale dell'albero binario
- Attraversamento del confine di un albero binario
Problemi facili sulla struttura dei dati dell'albero binario:
- Calcola la profondità di un albero binario completo dal preordine
- Costruisci un albero dagli attraversamenti dell'ordine Inorder e Level
- Controlla se un dato albero binario è SumTree
- Controlla se due nodi sono cugini in un albero binario
- Controlla se la rimozione di un bordo può dividere un albero binario in due metà
- Controlla se un dato albero binario è perfetto o meno
- Controlla se un albero binario contiene sottoalberi duplicati di dimensione 2 o più
- Controlla se due alberi sono speculari
- Alberi binari pieghevoli
- Albero simmetrico (immagine speculare di se stesso)
- Scrivi il codice per determinare se due alberi sono identici
- Sottoalbero con data somma in un albero binario
- Codifica concisa dell'albero binario
- Scrivere un programma per calcolare la dimensione di un albero
- Diametro di un albero binario
- Ottieni il livello di un nodo in un albero binario
Problemi medi sulla struttura dei dati dell'albero binario:
- Trova tutti i possibili alberi binari con un dato attraversamento in ordine
- Compila il successore in ordine per tutti i nodi
- Costruisci un albero binario completo dalla sua rappresentazione di elenco collegato
- Scambio minimo richiesto per convertire l'albero binario in un albero di ricerca binario
- Convertire un dato albero binario in una lista doppiamente collegata | Insieme 1
- Converti un albero in una foresta di nodi pari
- Capovolgi l'albero binario
- Stampa i percorsi radice-foglia senza utilizzare la ricorsione
- Controlla se gli attraversamenti Preordine, Inordine e Postordine forniti appartengono allo stesso albero
- Controlla se un dato albero binario è completo o meno | Set 1 (soluzione iterativa)
- Controlla se un albero binario è un sottoalbero di un altro albero binario | Insieme 2
- Trova la somma più grande del sottoalbero in un albero
- Somma massima di nodi nell'albero binario tale che non ne siano adiacenti due
- Antenato comune più basso in un albero binario | Insieme 1
- Altezza di un albero generico dall'array genitore
- Trova la distanza tra due chiavi date di un albero binario
Problemi difficili sulla struttura dei dati dell'albero binario:
- Modifica un albero binario per ottenere l'attraversamento del preordine utilizzando solo i puntatori a destra
- Costruisci un albero binario completo utilizzando l'attraversamento del preordine e l'attraversamento del preordine del suo albero speculare
- Costruisci un albero speciale da un dato attraversamento del preordine
- Costruisci un albero dalla matrice antenata
- Costruisci l'albero k-ary completo dal suo attraversamento del preordine
- Costruisci un albero binario da una stringa con rappresentazione tra parentesi
- Converti un albero binario in una lista doppiamente collegata a spirale
- Convertire un albero binario in una lista circolare a doppio collegamento
- Convertire l'espressione ternaria in un albero binario
- Controlla se esiste un percorso da radice a foglia con la sequenza specificata
- Rimuovi tutti i nodi che non si trovano in nessun percorso con somma>= k
- Somma massima della spirale nell'albero binario
- Somma dei nodi al k-esimo livello in un albero rappresentato come stringa
- Somma di tutti i numeri che si formano dai percorsi della radice alle foglie
- Unisci due alberi binari eseguendo la somma dei nodi (ricorsiva e iterativa)
- Trova la radice dell'albero in cui viene fornita la somma degli ID dei figli per ogni nodo
Link veloci :
Consigliato:
- Impara la struttura dei dati e gli algoritmi | Tutorial DSA