Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione vivo X500 Pro Max: la fotografia mobile ha un nuovo protagonista
Recensione vivo X500 Pro Max: la fotografia mobile ha un nuovo protagonista
Il nuovo top di gamma vivo punta su un comparto fotografico particolarmente articolato, con un teleobiettivo da 200 megapixel e teleconvertitori esterni capaci di arrivare a 400 mm equivalenti. Lo abbiamo provato a Tenerife, mettendo alla prova fotocamere, prestazioni, autonomia e accessori. Ecco come si è comportato.
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà
Un mondo affollato e vivo, personaggi destinati a sparire a fine test e nessuno a inseguire l'oggetto giusto. Beta e stress test di World of Warcraft: Forever hanno fatto emergere un roleplay spontaneo, tra danze a Goldshire e code ordinate ai PNG
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA
In tre giorni a Las Vegas Oracle ha presentato agenti che eseguono il lavoro, l'alleanza con OpenAI e un cloud aperto agli acceleratori di tutti. Ma i clienti europei chiedono garanzie prima ancora delle funzionalità
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


Recensione vivo X500 Pro Max: la fotografia mobile ha un nuovo protagonista Recensione vivo X500 Pro Max: la fotografia mobi...
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà WoW Forever: la beta è stato uno dei mome...
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA Oracle AI World 2026: in Europa prima la sovrani...
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort DS N°7 E-Tense: il SUV premium made in Melfi...
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più Recensione Samsung Galaxy Tab S12 Ultra: non chi...
Un Googlebook in formato Surface Pro: Le...
Windows 11 non permetterà mai di spostar...
Snowflake porta gli agenti IA dentro il ...
SUSE taglia circa 190 persone, e il CEO ...
Apple Watch Series 12, ribasso di 200€ s...
BMW sfida Tesla FSD: la guida assistita ...
Intel potrebbe interrompere la produzion...
Ubuntu: falla critica nel kernel, per Ca...
Impara dai propri errori e si allena da ...
Google lancia il backup automatico delle...
AMD, spunta una Radeon RX 470 con quattr...
Furto da 6,3 miliardi di dollari a Binan...
Grok, limiti esauriti di colpo nel fine ...
REDMAGIC 12 Pro: con ventola e raffredda...
Windows 11 26H2 ora disponibile per tutt...
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: 15:34.


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