Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra integra un sensore da 1 pollice 8K, ottiche Leica e triplo chip IA. Tra schermo OLED rimovibile, workflow I-Log a 10 bit e stabilizzazione a tre assi, analizziamo le doti tecniche di una gimbal camera pensata per i professionisti
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 18-01-2006, 08:32   #1
leadergl
Senior Member
 
Iscritto dal: May 2003
Messaggi: 1113
[C] Come ri riempie un albero di questo tipo?

Raga come si riempie una struttura di questo tipo?
Codice:
struct TipoAlbero
{
	char elemento;
	struct TipoAlbero *figlio;
	struct TipoAlbero *fratello;
};
Questa è la relativa immagine:
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC
leadergl è offline   Rispondi citando il messaggio o parte di esso
Old 18-01-2006, 09:23   #2
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
Sei ancora impegnato con la Tassonomia?
__________________
Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 18-01-2006, 09:31   #3
leadergl
Senior Member
 
Iscritto dal: May 2003
Messaggi: 1113
no, il "progetto" l'ho consegnato...ma mi sono accorto che dopo aver fatto, con mille fatiche, funzionare tutto ho sbagliato a far costruire l'albero......

e quindi mo so diventato curioso e vorrei sapere come si riempie normalmente un albero di questo tipo...

chi mi aiuta?
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC
leadergl è offline   Rispondi citando il messaggio o parte di esso
Old 18-01-2006, 12:51   #4
leadergl
Senior Member
 
Iscritto dal: May 2003
Messaggi: 1113
...up...
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC
leadergl è offline   Rispondi citando il messaggio o parte di esso
Old 18-01-2006, 13:18   #5
anx721
Senior Member
 
L'Avatar di anx721
 
Iscritto dal: Oct 2002
Città: Roma
Messaggi: 1502
e' un albero n-rio; qual è il tuo problema di preciso?
__________________
Sun Certified Java Programmer
EUCIP Core Level Certified

European Certification of Informatics Professionals
anx721 è offline   Rispondi citando il messaggio o parte di esso
Old 18-01-2006, 14:08   #6
leadergl
Senior Member
 
Iscritto dal: May 2003
Messaggi: 1113
riempirlo secondo uno schema...nel senso prima il nodo poi gli eventuali figli per poi passare pian piano ai vari eventuali fratelli....

quindi, prendendo ad esempio il disegno che ho postato, seguendo questo ordine:
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC
leadergl è offline   Rispondi citando il messaggio o parte di esso
Old 18-01-2006, 14:39   #7
Ufo13
Senior Member
 
L'Avatar di Ufo13
 
Iscritto dal: Nov 2005
Messaggi: 1545
non ho capito bene cosa vuoi dire.... Lo riempi come vuoi basta che in fase di lettura segui lo stesso schema altrimenti sballi l'ordine
Ufo13 è offline   Rispondi citando il messaggio o parte di esso
Old 18-01-2006, 14:40   #8
Ufo13
Senior Member
 
L'Avatar di Ufo13
 
Iscritto dal: Nov 2005
Messaggi: 1545
comunque non mi sembra una struttura molto astuta... Il nodo radice ha 1 solo figlio e nessun fratello?
Ufo13 è offline   Rispondi citando il messaggio o parte di esso
Old 18-01-2006, 17:05   #9
anx721
Senior Member
 
L'Avatar di anx721
 
Iscritto dal: Oct 2002
Città: Roma
Messaggi: 1502
Quote:
Originariamente inviato da Ufo13
comunque non mi sembra una struttura molto astuta... Il nodo radice ha 1 solo figlio e nessun fratello?
proprio perchè è laradice non ha fratelli...è una rapprsentazione abbastanza standard per gli alberi n-ari
__________________
Sun Certified Java Programmer
EUCIP Core Level Certified

European Certification of Informatics Professionals
anx721 è offline   Rispondi citando il messaggio o parte di esso
Old 18-01-2006, 20:23   #10
leadergl
Senior Member
 
Iscritto dal: May 2003
Messaggi: 1113
Quote:
Originariamente inviato da anx721
proprio perchè è laradice non ha fratelli...è una rapprsentazione abbastanza standard per gli alberi n-ari
si infatti...credo sia la rappresentazione più normale possibile di un albero di questo tipo...

cmq il mio quesito era un altro...qualcuno può aiutarmi?
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC
leadergl è offline   Rispondi citando il messaggio o parte di esso
Old 21-01-2006, 08:26   #11
leadergl
Senior Member
 
Iscritto dal: May 2003
Messaggi: 1113
dai raga....help...
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC
leadergl è offline   Rispondi citando il messaggio o parte di esso
Old 21-01-2006, 11:04   #12
crick_pitomba
Member
 
Iscritto dal: Oct 1999
Messaggi: 111
ciao,
non ho capito la domanda. cioè
da come hai rappresentato la figura sembra un albero strano
ma in effetti è un semplice albero binario in cui ogni nodo ha due rami.

per riempire questa struttura devi definire tu un algoritmo sulla base del quale decidi quando prendere il ramo a sinistra e quando prendere il ramo a destra

se vuoi riempire l'albero ricreando proprio quella figura, puoi utilizzare un algoritmo di riempimento basato sui confronti in cui se ad esempio il valore da inserire è minore del valore del nodo vai a sinistra (figlio), se il valore del nodo è maggiore della radice, vai a destra(fratello).

una possibile soluzione ad esempio è (ho messo dei numeri, per comodità)

immetti per primo il valore in cella 1, poi quello in cella 2 ecc
Immagini allegate
File Type: jpg AlberiRadicati_Ordine.jpg (22.9 KB, 9 visite)
crick_pitomba è offline   Rispondi citando il messaggio o parte di esso
Old 21-01-2006, 11:11   #13
leadergl
Senior Member
 
Iscritto dal: May 2003
Messaggi: 1113
si però io non ho mai detto che il mio è un albero ordinato...

il mio problema è diverso, devo costruire un Albero di Tassonomie, il tutto è spiegato in un altro thread, questo: http://www.hwupgrade.it/forum/showpo...6&postcount=17

cmq in generale se io volessi riempire l'albero così:

Codice:
radice
      figlio_1
      figlio_2
            figlio_1 (di figlio_2)
            figlio_2 (di figlio_2)
                  figlio_1 (di figlio_2 di figlio_2)
            figlio_3 (di figlio_2)
      figlio_3
      figlio_4
      figlio_5
            figlio_1 (di figlio_5)
            figlio_2 (di figlio_5)
come si farebbe?
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC

Ultima modifica di leadergl : 21-01-2006 alle 11:13.
leadergl è offline   Rispondi citando il messaggio o parte di esso
Old 21-01-2006, 12:00   #14
crick_pitomba
Member
 
Iscritto dal: Oct 1999
Messaggi: 111
ho letto un po' l'altro thread e ho cercato di capire cosa ti potesse servire ma mi manca un piccolo dettaglio: non hai mai specificato come i figli sono legati ai genitori.Questo è alla base dell'algoritmo di costruzione dell'albero.

Comunque, se non ho capito male, tu hai la struttura dell'albero stampata sul file e leggendo una riga alla volta voui ricostruire l'albero?

sei già in grado di capire leggendo il file a che livello dell'albero sei?

cioà leggendo la sesta riga di

Codice:
radice
      figlio_1
      figlio_2
            figlio_1 (di figlio_2)
            figlio_2 (di figlio_2)
                  figlio_1 (di figlio_2 di figlio_2)
            figlio_3 (di figlio_2)
      figlio_3
      figlio_4
      figlio_5
            figlio_1 (di figlio_5)
            figlio_2 (di figlio_5)

sai che sei al terzo livello di figli?
e leggendo poi la settima riga sai che sei risalito di un livello?


P.S. ho provato a contattarti via msn
crick_pitomba è offline   Rispondi citando il messaggio o parte di esso
Old 21-01-2006, 13:11   #15
beppegrillo
Senior Member
 
L'Avatar di beppegrillo
 
Iscritto dal: Mar 2004
Messaggi: 1455
La struttura del file è questa, il file devi scorrerlo dall'alto verso il basso, in base al valore (n_filgli) sai se ti trovi su un livello oppure sei sceso a livello+1.
La struttura dati che puoi usare è quella del figlio_sx, fratello_dx, ma non è detto che tu debba distinguerli, visto che non ha nessuna importanta, quindi un nodo avrà una lista concatenata di n figli.

Struct nodo {
char* name;
struct nodo* figli
struct nodo* next
char** proprieta (tassonomia)
}
Codice:
n_figli radice
     n_figli figlio_1
      " figlio_2
           " figlio_1 (di figlio_2)
           " figlio_2 (di figlio_2)
                  figlio_1 (di figlio_2 di figlio_2)
            figlio_3 (di figlio_2)
      figlio_3
      figlio_4
      figlio_5
            figlio_1 (di figlio_5)
            figlio_2 (di figlio_5)
__________________
Ciao ~ZeRO sTrEsS~
beppegrillo è offline   Rispondi citando il messaggio o parte di esso
Old 21-01-2006, 14:01   #16
Qu@ker
Member
 
Iscritto dal: Apr 2004
Messaggi: 130
Non mi e' ancora chiaro com'e' il file dei dati.
Perche' non ne posti un pezzetto, giusto per capire cosa si deve leggere?
Il resto non mi pare difficile, per esempio:
Codice:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

typedef struct albero {
	char nome[5];
	struct albero *fratello;
	struct albero *figlio;
} alberoStrano;

typedef struct famiglia {
	char *nome;
	int figli;
} famiglia;

famiglia dati[] = { 
	{"1", 5}, {"11",0}, {"12",3}, {"121",0}, {"122",1}, 
	{"1221",0}, {"123",0}, {"13",0}, {"14",0},{"15",2},
	{"151",0},{"152",0},{NULL,0}
};

int indice;

void leggiNodo(famiglia *dati, alberoStrano **nodo, int fratelli)
{
	int figli;

	if (dati[indice].nome == NULL)
		return;

	*nodo = malloc(sizeof(alberoStrano));
	strcpy((*nodo)->nome, dati[indice].nome);
	figli = dati[indice++].figli;

	if (figli > 0) {
		leggiNodo(dati, &((*nodo)->figlio), figli-1);
	} else
		(*nodo)->figlio = NULL;

	if (fratelli > 0)
		leggiNodo(dati, &((*nodo)->fratello), fratelli-1);
	else
		(*nodo)->fratello = NULL;
}

void stampaNodo(alberoStrano *nodo)
{
	printf("%s", nodo->nome);

	if (nodo->figlio) {
		printf(" (");
		stampaNodo(nodo->figlio);
		putchar(')');
	}

	if (nodo->fratello) {
		putchar(' ');
		stampaNodo(nodo->fratello);
	}
}

int main()
{
	alberoStrano *radice;

	indice = 0;
	leggiNodo(dati, &radice, 0);
	stampaNodo(radice);
	putchar('\n');
        /* qui si dovrebbero liberare le risorse allocate,
            ma lo lascio come esercizio ;) */

	return 0;
}
Qu@ker è offline   Rispondi citando il messaggio o parte di esso
Old 21-01-2006, 14:43   #17
beppegrillo
Senior Member
 
L'Avatar di beppegrillo
 
Iscritto dal: Mar 2004
Messaggi: 1455
Quote:
Originariamente inviato da Qu@ker
Non mi e' ancora chiaro com'e' il file dei dati.
Perche' non ne posti un pezzetto, giusto per capire cosa si deve leggere?
Il resto non mi pare difficile, per esempio:
In allegato c'è il testo.

P.s Ma perchè un albero n-ario è strano?
Allegati
File Type: doc progetto1_2005-2.doc (22.3 KB, 5 visite)
__________________
Ciao ~ZeRO sTrEsS~
beppegrillo è offline   Rispondi citando il messaggio o parte di esso
Old 21-01-2006, 16:03   #18
Qu@ker
Member
 
Iscritto dal: Apr 2004
Messaggi: 130
Quote:
Originariamente inviato da beppegrillo
In allegato c'è il testo.
E' un file di Word. Ho provato ad aprirlo con OpenOffice, ma dove dice
"ad esempio:", ci sono solo alcune righe vuote.

Quote:
Originariamente inviato da beppegrillo
P.s Ma perchè un albero n-ario è strano?
Be' quello non e' un albero n-ario, che sarebbe un albero dove ogni nodo
ha esattamente n figli.
E' un albero ordinato, che puo' essere visto come un albero binario organizzato
in modo particolare (da qui lo strano).
Qu@ker è offline   Rispondi citando il messaggio o parte di esso
Old 21-01-2006, 16:12   #19
beppegrillo
Senior Member
 
L'Avatar di beppegrillo
 
Iscritto dal: Mar 2004
Messaggi: 1455
Quote:
Originariamente inviato da Qu@ker
Be' quello non e' un albero n-ario, che sarebbe un albero dove ogni nodo
ha esattamente n figli.
E' un albero ordinato, che puo' essere visto come un albero binario organizzato
in modo particolare (da qui lo strano).
Non è un albero ordinato, ol nemmeno n-ario, poichè i figli sono variabili.
Comunque era un rtf, l'ho rinominato.
__________________
Ciao ~ZeRO sTrEsS~
beppegrillo è offline   Rispondi citando il messaggio o parte di esso
Old 21-01-2006, 16:27   #20
Qu@ker
Member
 
Iscritto dal: Apr 2004
Messaggi: 130
Quote:
Originariamente inviato da beppegrillo
Non è un albero ordinato, ol nemmeno n-ario, poichè i figli sono variabili.
Secondo Sedgewick, quello e' un albero ordinato.
Comunque ...basta capirsi.

Quote:
Originariamente inviato da beppegrillo
Comunque era un rtf, l'ho rinominato.
Ok, l'ho rinominato, ma continuo a non vedere l'esempio...
Pero', da quello che leggo, il secondo quesito richiede la costruzione del
TFILE, quindi sei TU che mi devi dire come e' fatto...
Qu@ker è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema Insta360 Luna Ultra: la potenza del sensore da 1...
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
AMD: l'alternativa al DLSS 5 sarebbe in ...
Canon EOS R8 Mark II: sensore da 24,2 MP...
Alla Napoli Shipping Week 2026 arriva il...
Addio bollo: il Governo cancella la tass...
Speciale Logitech G: mouse PRO X SUPERLI...
Cosa pensano Altman, Amodei, Benioff e H...
Microsoft: evento il 7 ottobre dedicato ...
Scoperti 84 corpi cosmici anomali: cosa ...
Dimensity 9600 Pro contro A20 Pro, il nu...
HillMiles MileCity1 torna a 648,99€: e-b...
Enel Mobile, il debutto è sempre ...
Nuova rimodulazione per il fisso di TIM ...
iPhone 18 Pro e Pro Max, preordini sotto...
Ha craccato 26 giochi: ora Denuvo vuole ...
Xiaomi 18 Pro, il lancio è uffici...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 20:44.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v