fisica:informatica:201516:secondoanno:laboratorio_12
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
| Entrambe le parti precedenti la revisioneRevisione precedenteProssima revisione | Revisione precedente | ||
| fisica:informatica:201516:secondoanno:laboratorio_12 [18/05/2016 alle 07:59 (10 anni fa)] – [Esercizio 1] Roberta Gori | fisica:informatica:201516:secondoanno:laboratorio_12 [18/05/2016 alle 08:08 (10 anni fa)] (versione attuale) – [Esercizio 3] Roberta Gori | ||
|---|---|---|---|
| Linea 18: | Linea 18: | ||
| root | root | ||
| e restituisce tale numero. | e restituisce tale numero. | ||
| - | 2) Definire il tipo | + | |
| + | |||
| + | ===== Esercizio | ||
| + | Definire il tipo | ||
| + | < | ||
| albero_d_t | albero_d_t | ||
| + | </ | ||
| di un albero binario in cui le etichette sono valori di tipo | di un albero binario in cui le etichette sono valori di tipo | ||
| - | double | + | double. |
| - | . | + | |
| Scrivere una funzione | Scrivere una funzione | ||
| + | < | ||
| double somma_le_foglie ( albero_d_t * root); | double somma_le_foglie ( albero_d_t * root); | ||
| + | </ | ||
| che restituisce la somma dei valori delle etichette delle sole foglie dell' | che restituisce la somma dei valori delle etichette delle sole foglie dell' | ||
| - | 3)Utilizzando il tipo | + | |
| + | |||
| + | ===== Esercizio | ||
| + | Utilizzando il tipo | ||
| + | < | ||
| albero_d_t | albero_d_t | ||
| + | </ | ||
| | | ||
| + | < | ||
| void leggi_albero ( albero_d_t ** root) ; | void leggi_albero ( albero_d_t ** root) ; | ||
| + | </ | ||
| che legge da standard input una sequenza di valori double terminata da EOF e restituisce il | che legge da standard input una sequenza di valori double terminata da EOF e restituisce il | ||
| puntatore ad un nuovo albero che contiene tutti i valori letti. L' | puntatore ad un nuovo albero che contiene tutti i valori letti. L' | ||
| Linea 35: | Linea 49: | ||
| n | n | ||
| tutti i valori nel sottoalbero sinistro devono essere minori o | tutti i valori nel sottoalbero sinistro devono essere minori o | ||
| - | uguali del valore | + | uguali del valore |
| - | n | + | n, mentre i valori nel sottoalbero destro devono essere tutti maggiori o uguali di |
| - | , mentre i valori nel sottoalbero destro devono essere tutti maggiori o uguali di | + | n. |
| - | n | + | |
| - | . | + | |
| Verificare che stampando i valori delle etichette con una visita simmetrica otteniamo una sequenza | Verificare che stampando i valori delle etichette con una visita simmetrica otteniamo una sequenza | ||
| crescente. | crescente. | ||
| - | 4)Utilizzando il tipo | + | |
| + | ===== Esercizio | ||
| + | Utilizzando il tipo | ||
| + | < | ||
| albero_d_t | albero_d_t | ||
| + | </ | ||
| | | ||
| l' | l' | ||
| + | < | ||
| lista_d_t * tree_to_list ( albero_d_t * root ); | lista_d_t * tree_to_list ( albero_d_t * root ); | ||
| - | 5) Dato il tipo | + | </ |
| + | |||
| + | ===== Esercizio | ||
| + | Dato il tipo | ||
| + | < | ||
| albero_d_t | albero_d_t | ||
| + | </ | ||
| | | ||
| livelli dell' | livelli dell' | ||
| - | 6) | + | |
| - | Un albero binario di ricerca e' un albero in cui in ogni nodo | + | ===== Esercizio |
| - | n | + | Un albero binario di ricerca e' un albero in cui in ogni nodo n e' verificata la relazione |
| - | e' verificata la relazione | + | Etichetta(nsx)≤Etichetta(n)≤Etichetta(ndx) dove nsx e' un qualsiasi nodo dell' |
| - | E | + | |
| - | ( | + | |
| - | nsx | + | |
| - | ) | + | |
| - | ≤ | + | |
| - | E | + | |
| - | ( | + | |
| - | n | + | |
| - | ) | + | |
| - | ≤ | + | |
| - | E | + | |
| - | ( | + | |
| - | ndx | + | |
| - | ) | + | |
| - | dove | + | |
| - | nsx | + | |
| - | e' un qualsiasi nodo dell' | + | |
| - | ndx | + | |
| - | e' un qualsiasi nodo dell' | + | |
| Utilizzando il tipo | Utilizzando il tipo | ||
| + | < | ||
| albero_d_t | albero_d_t | ||
| + | </ | ||
| | | ||
| + | < | ||
| /* inserisce l' | /* inserisce l' | ||
| ...... inserisci_ord ( ......, double x ); | ...... inserisci_ord ( ......, double x ); | ||
| + | |||
| /* ricerca l' | /* ricerca l' | ||
| | | ||
| int inserisci_ord ( albero_d_t * root, double x ); | int inserisci_ord ( albero_d_t * root, double x ); | ||
| + | |||
| /* cancella l' | /* cancella l' | ||
| restituice il puntatore al nuovo albero */ | restituice il puntatore al nuovo albero */ | ||
| ......... cancella_ord ( ........., double x ); | ......... cancella_ord ( ........., double x ); | ||
| + | </ | ||
fisica/informatica/201516/secondoanno/laboratorio_12.1463558399.txt.gz · Ultima modifica: 18/05/2016 alle 07:59 (10 anni fa) da Roberta Gori
