Discussione:Albero binario di ricerca
Ultimo commento: 5 anni fa, lasciato da Steffo99 in merito all'argomento Pagina riscritta
Pagina riscritta
modificaAppena riscritta la pagina. Spero vada bene, nel caso aspetto miglioramenti o commenti. Caretaker 16:04, 19 gen 2006 (CET)
- Complimenti! Mi pare un ottimo lavoro, anche se per ora ho rivisto soltanto al volo la parte stilistica; intanto ho aggiunto gli interlink, che è buona norma inserire sempre. Lp (16:16, 19 gen 2006 (CET))
- Ciao, veramente il codice è in Pascal? Potrei modificarlo liberamente in pseudocodice? JulesMiddle (15:47 20 giu 2013 (CET))
- Sono 13 anni in ritardo, ma suggerirei di usare un linguaggio un po' più chiaro per il codice di implementazione: Wikipedia inglese ad esempio usa Python... Si potrebbe tradurre in Italiano il codice della pagina inglese... Steffo99 (msg) 15:15, 17 mag 2019 (CEST)
Pseudocodice
modificaSmettetela di usare pseudo codice non aiuta nessuno e solitamente ha il brutto vizio di essere impreciso e tralasciare dettagli implementativi.
Costruzione di un albero binario a partire da un array ordinato con valori crescenti
Linguaggio C:
#include <stdio.h> #include <stdlib.h> typdef char DATA; struct node { DATA d; struct node left; struct node right }; typdef struct node NODE; typdef NODE *BTREE; BTREE init_node(DATA d1, BTREE p1, BTREE p2){ BTREE t; t = malloc(sizeof(NODE)) t->d = d1; t->left = p1; t->right= p2; return t; } /* Costruzione di un albero binario da un array */ BTREE create_tree(DATA a[], int i, int size){ if (i>= size) return NULL: else return (init_node(a[i], create_tree(a, 2 * i + 1, size), create_tree(a, 2 * i + 2, size))); }
Complessità computazionale create_tree O(n).
La prima chiamata di create_tree i deve essere 0.
Se vi sembra che sia utile spostate pure questo codice nella pagina principale. 84.223.33.76 (msg) 20:33, 24 giu 2014 (CEST)