Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Roborock Qrevo Curv 2 Flow: ora lava con un rullo
Roborock Qrevo Curv 2 Flow: ora lava con un rullo
Qrevo Curv 2 Flow è l'ultima novità di casa Roborock per la pulizia di casa: un robot completo, forte di un sistema di lavaggio dei pavimenti basato su rullo che si estende a seguire il profilo delle pareti abbinato ad un potente motore di aspirazione con doppia spazzola laterale
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite
Abbiamo guidato per diversi giorni la Alpine A290, la prima elettrica del nuovo corso della marca. Non è solo una Renault 5 sotto steroidi, ha una sua identità e vuole farsi guidare
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile
Abbiamo provato a fondo il nuovo Magic 8 Lite di HONOR, e per farlo siamo volati fino a Marrakech , dove abbiamo testato la resistenza di questo smartphone in ogni condizione possibile ed immaginabile. Il risultato? Uno smartphone praticamente indistruttibile e con un'autonomia davvero ottima. Ma c'è molto altro da sapere su Magic 8 Lite, ve lo raccontiamo in questa recensione completa.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 13-07-2006, 16:49   #1
Manugal
Senior Member
 
L'Avatar di Manugal
 
Iscritto dal: Jan 2001
Città: Villanova di Guidonia (RM)
Messaggi: 1079
[C] Algoritmo di backtracking

Ciao.

Sto cercando di capire cosa avviene passo passo in questo algoritmo:

Codice:
Funzione chiamante:

void gensec(int n, int k){
   int t[n];
   genseqrec(n,k,t,-1);
}

void genseqrec (int n, int k, int t[], int l){
   int i;
   if(l==n-1)
      stampa(t);
   else
      for(i=1; i<=k; ++i){
         t[l+1]=i;
         genseqrec(n,k,t,l+1);
      }
}
Praticamente è un algoritmo che genera tutte le sequenze di lunghezza n, definite nell'inisieme {1,.....,k}. Quindi per n=2 e k=3 avrò:

(1,1) (1,2) (1,3)
(2,1) (2,2) (2,3)
(3,1) (3,2) (3,3)

Il problema è che non riesco a capire quel ciclo for, cosa succede ad ogni iterazione. Grazie.
Manugal è offline   Rispondi citando il messaggio o parte di esso
Old 13-07-2006, 17:02   #2
franksisca
Senior Member
 
L'Avatar di franksisca
 
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
scusa, ma che cosa non capisci???
è un classico esempio di ricorsione, non riesco a capire che cosa non hai capito.....
Codice:
for(i=1; i<=k; ++i){
         t[l+1]=i;    --->qua metti in posizione l+1 il valore i, che viene  
                              incrementatto per ogni for
         genseqrec(n,k,t,l+1);       ---> qua richiami la stessa funzione aumentando l di uno....
   
      }
__________________
My gaming placement
franksisca è offline   Rispondi citando il messaggio o parte di esso
Old 13-07-2006, 17:05   #3
Manugal
Senior Member
 
L'Avatar di Manugal
 
Iscritto dal: Jan 2001
Città: Villanova di Guidonia (RM)
Messaggi: 1079
Non riesco a capire come si riempie il vettore.... come fa alla fine a generare quella sequenza?
Manugal è offline   Rispondi citando il messaggio o parte di esso
Old 13-07-2006, 17:19   #4
Manugal
Senior Member
 
L'Avatar di Manugal
 
Iscritto dal: Jan 2001
Città: Villanova di Guidonia (RM)
Messaggi: 1079
Ragionandoci meglio sopra, sono riuscito a capire come viene costruita ad ogni passo della ricorsione la sequenza. Grazie lo stesso
Manugal è offline   Rispondi citando il messaggio o parte di esso
Old 13-07-2006, 17:28   #5
sottovento
Senior Member
 
L'Avatar di sottovento
 
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
In effetti e' un codice piuttosto difficile. Immagino si tratti di un esercizio, visto che non c'e' altro motivo di generare un codice simile.

Comunque: si tratta di una procedura ricorsiva.

- Base della ricorsione: l == n-1.
Quando questo valore e' raggiunto, siamo sicuri di aver riempito il vettore degli n elementi necessari, pertanto lo si stampa e la ricorsione finisce li.

- passo ricorsivo> l != n - 1 (ovviamente l < n-1)
In questo caso, l'elemento corrente dell'array viene riempito e si demanda alla ricorsione il riempimento del resto. Il vettore riduce il numero di elementi da riempire fino ad arrivare alla base della ricorsione.
Tutto qui

High Flying
Sottovento
__________________
In God we trust; all others bring data
sottovento è offline   Rispondi citando il messaggio o parte di esso
Old 14-07-2006, 01:27   #6
Black imp
Senior Member
 
Iscritto dal: Nov 2000
Città: MILANO
Messaggi: 2662
non mi sembra però backtracking, nel senso che non torna indietro ma si propaga in una sola direzione.
Black imp è offline   Rispondi citando il messaggio o parte di esso
Old 14-07-2006, 10:42   #7
franksisca
Senior Member
 
L'Avatar di franksisca
 
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
Quote:
Originariamente inviato da Black imp
non mi sembra però backtracking, nel senso che non torna indietro ma si propaga in una sola direzione.
infatti è ricorsione, no backtraking
__________________
My gaming placement
franksisca è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Roborock Qrevo Curv 2 Flow: ora lava con un rullo Roborock Qrevo Curv 2 Flow: ora lava con un rull...
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite Alpine A290 alla prova: un'auto bella che ti fa ...
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile Recensione HONOR Magic 8 Lite: lo smartphone ind...
Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora Sony WF-1000X M6: le cuffie in-ear di riferiment...
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI Snowflake porta l'IA dove sono i dati, anche gra...
Il paradosso dell'IA: aumenta la produtt...
Oltre 2 TB di dati su un foglio A4: &egr...
Turboden realizza la più grande p...
SEGA pronta al debutto del misterioso 'S...
Microsoft ce l'ha fatta: adesso il 100% ...
Cuffie Hi-Res eleganti, con ANC e 100 or...
Processo a Meta, Zuckerberg difende Inst...
Password in pericolo: scoperte gravi lac...
Pentagono e Anthropic ai ferri corti: in...
eBay acquisisce Depop da Etsy per 1,2 mi...
The Elder Scrolls VI userà motore...
Action cam 8K al prezzo giusto: Insta360...
Stop improvviso per Blue Jay: la nuova s...
Lyria 3 sbarca su Gemini: adesso si può ...
Apple Watch SE 3 da 229€, con cassa da 4...
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: 13:00.


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