Avatar billede mickni33 Nybegynder
22. november 2005 - 12:52 Der er 3 kommentarer og
1 løsning

tråde og recusive funktioner

jeg har en rekursiv funktiion hvor en if sætning skal bestemme hvornår iterationen skal stoppe.
Kan man kalde en time system funktion direkte eller skal der oprettes en tråd som holder styr på tiden, og så bruges en fælles global variable?
eller er der nogen andre som har en god ide til hvaordan det kan laves.
Det skal være under Linux

Funktionen skal ligne nogenlunde kden herunder.

int recursivFunktion(int x){
    if(time== 30 sec){
        return værdi
    }
      else{
          lave noget andet
          int z=recursivFunktion(x+1)
      }

return z;
}
Avatar billede scheea2000 Nybegynder
22. november 2005 - 14:26 #1
Det vil kræve for meget regnekraft at checke tiden for hver nye gren i dit (minimax?) søgetræ. Derfor kig nærmere på "Iterative Deepening". http://www.seanet.com/~brucemo/topics/iterative.htm
Din ide med en global variabel (bool, "er tiden gået") er dog heller ikke dårlig, da det nok vil kræve mindre regnekraft at opdatere tiden i en tråd. Men Iterative Deepening er det letteste og hurtigste (og mindst error prone) at implementere imo.
Avatar billede mickni33 Nybegynder
22. november 2005 - 15:50 #2
ok linket kan vi godt bruge....
men vi har 30 sec til hvert træk, så den med at en tråd finder tiden og tildeler en global variabel om tiden er gået eller ikke , er den ok?
Avatar billede mickni33 Nybegynder
22. november 2005 - 15:54 #3
Har fået det til at virke i et eksempel men når det skal implementeres i vores minimax så gå den i stå ved 1 sec.

har du et link til hvordan man kan implementer tiden i en tråd

Husk at lave svar
Avatar billede scheea2000 Nybegynder
23. november 2005 - 13:13 #4
nej snup du bare pointene.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester