|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#41 |
|
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3739
|
|
|
|
|
|
|
#42 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
In tal caso usa fgets per leggere una riga intera, poi usa sscanf per leggere i valori dalla riga fino a quando non ti torna 0. |
|
|
|
|
|
|
#43 |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Dovrebbe funzionare, ma:
Codice:
while((scanf("%d",&cifra)) != '\0')
Codice:
while((scanf("%d",&cifra)) != 0)
ciao
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
|
|
|
|
#44 | ||
|
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3739
|
Quote:
esatto. Per ora sto usando la scanf ed avendo provato con almeno 10000 valori in input credo che funzioni. ciao e grazie Quote:
direi che ci siamo. Un'altra dritta: ho l'albero RB popolato ed uso la funzione inorder per visualizzare il suo contenuto ordinato per chiave. I campi riferiti ad ogni nodo sono: A, B, C, D, E quando uso la inorder mi viene mostrato quindi l'albero riordinato per A; se necessitassi di riordinare per C ad esempio vale la pena ricostruirsi un nuovo albero usando C come chiave e quindi usare inorder per visualizzare l'albero ordinato per C oppure ci sono metodi più ingegnosi ? ciao |
||
|
|
|
|
|
#45 | |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
A questo ti avevo già risposto in prima pagina:
Quote:
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
|
|
|
|
|
#46 |
|
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3739
|
ciao,
scusa ma sono proprio fuso, non ricordavo più di averlo già chiesto. Volevo evitare di aggiungere ulteriore codice e magari sfruttare la inorder esistente. E se creassi un albero temporaneo solo con la chiave che mi serve riordindare mettendo a zero gli altri campi e poi sfruttando la inorder, riodinerei l'output dell'albero temporaneo usandolo però come argomento di input per la RBsearch, così facendo verrebbe troppo costoso ? ciao |
|
|
|
|
|
#47 |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Dovrebbe venire ugualmente O(n·log(n)), se ho capito bene cosa intendi fare.
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
|
|
|
|
#48 |
|
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3739
|
è un'idea per continuare a sfruttare sempre la stessa struttura
ciao |
|
|
|
|
|
#49 |
|
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3739
|
ciao,
l'idea l'ho implementata e funziona correttamente. Ho un dubbio quando si cancella un nodo sia esso nero oppure rosso che se non ricordo va rimesso tutto com'era niente, sto ripassando un pò la teoria Ultima modifica di misterx : 03-06-2010 alle 18:25. |
|
|
|
|
|
#50 |
|
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3739
|
ciao,
è possibile con una qualche tecnica dopo aver memorizzato area e posizione di rettangoli in un albero RB conoscere se tali aree si sovrappongono ? grazie |
|
|
|
|
|
#51 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
A che ti serve memorizzare area e posizione di un rettangolo in un albero RB ? Cioè...quale ordinamento attui ?
|
|
|
|
|
|
#52 | |
|
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3739
|
Quote:
onestamente non lo so, è un'idea che mi è venuta osservando il mondo dei database dove fai unione o intersezione di dati. Ho pensato che chi si occupa di grafica, magari ha escogitato un qualche modo per intersecare aree in un qualche modo che non conosco e magari attraverso gli RB che trovo molto prestanti. Il link su wikipedia li presenta come strutture dati adatte per il real time. ciao |
|
|
|
|
|
|
#53 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
La misura di questi rettangoli è in interi o float ? Di quanti rettangoli si parla ? Hanno dei limiti di coordinate ? Quando ti servono i risultati ? Ogni volta che aggiungi un rettangolo o solo alla fine dell'elaborazione ?
Ultima modifica di cionci : 04-06-2010 alle 09:13. |
|
|
|
|
|
#54 | |
|
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3739
|
Quote:
dev'essere fatto in tempo reale |
|
|
|
|
|
|
#55 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Il fatto che debba essere fatto in tempo reale ancora non mi dice niente
Se deve essere fatto in tempo reale, quale dead line hai ? Quanti rettangoli possono essere aggiunti all'inizio di ogni periodo (uno, cento, mille, oppure vengono eliminati tutti e ricreati tutti). All'inizio dell'elaborazione, quando ti si presentano i primi rettangoli hai un tempo di compensazione ? |
|
|
|
|
|
#56 | |
|
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3739
|
Quote:
forse sono andato un pò fuori strada, meglio se ci penso ancora un pochino. Ho un'altra domanda: come duplico un albero RB ? ciao |
|
|
|
|
|
|
#57 |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Potresti fare una sorta di visita in cui replichi ogni informazione del nodo in questione in un nuovo nodo radice, associando poi al sottoalbero sinistro e destro la chiamata ricorsiva dell'algoritmo stesso. Al termine avresti un duplicato dell'albero su cui hai invocato la funzione, non dovrebbe essere difficile scriverla.
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
|
|
|
|
#58 |
|
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3739
|
ciao e grazie
sto leggendo da stdin con while((scanf("%d",&carattere)) != 0) ma al termine vorrei rileggere una seconda volta la stringa passata come si riavvolge l'input ? ciao |
|
|
|
|
|
#59 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Non si riavvolge...
|
|
|
|
|
|
#60 |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
È uno stream: le letture a buon fine lo svuotano di ciò che è stato letto, quindi non puoi fare ciò che vuoi. Leggi una riga per volta in un buffer dinamico e opera su quello.
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:08.




















