Search
 
 
  Engleski
 
 
 
Open in this window (click to change)
Forum@DeGiorgi: Početna
Forum za podršku nastavi na PMF-MO
Login Registracija FAQ Smajlići Članstvo Pretražnik Forum@DeGiorgi: Početna

1. kolokvij iz spa
WWW:
Idite na Prethodno  1, 2, 3  Sljedeće
Moja sarma
 
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji 2. godine -> Strukture podataka i algoritmi
Prethodna tema :: Sljedeća tema  
Autor/ica Poruka
DarkOne™24/7®
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 22. 11. 2004. (05:46:52)
Postovi: (A7)16
Sarma = la pohva - posuda
-2 = 5 - 7
Lokacija: zg

PostPostano: 8:52 čet, 4. 12. 2008    Naslov: Citirajte i odgovorite

Rezultati i uvid u kolokvije: cetvrtak, 4. prosinca u 14h

tako pise na kolokviju koji je na web-u, pa evo da ima ovdje ako se netko ne sjeti pogledati tamo, idite na zalbe.. :)
Rezultati i uvid u kolokvije: cetvrtak, 4. prosinca u 14h

tako pise na kolokviju koji je na web-u, pa evo da ima ovdje ako se netko ne sjeti pogledati tamo, idite na zalbe.. :)



_________________
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail AIM YIM MSNM
moi
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 21. 02. 2007. (13:39:09)
Postovi: (26)16
Spol: žensko
Sarma = la pohva - posuda
= 2 - 1

PostPostano: 10:59 pon, 9. 11. 2009    Naslov: Citirajte i odgovorite

Ima li tko ideju ili je rješavao 1. zadatak sa kolokvija iz 2008.?
Ima li tko ideju ili je rješavao 1. zadatak sa kolokvija iz 2008.?


[Vrh]
Korisnički profil Pošaljite privatnu poruku
DarkOne™24/7®
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 22. 11. 2004. (05:46:52)
Postovi: (A7)16
Sarma = la pohva - posuda
-2 = 5 - 7
Lokacija: zg

PostPostano: 13:56 pon, 9. 11. 2009    Naslov: Citirajte i odgovorite

[code:1]//ne znam na pamet fujkcije ali nadji odgovarajuce na salabahteru
b=0;
k1=0;
i=vrh stoga
while(!empty(s)){
while(!empty(s)){
daj vrh stoga stavi ga na red1
if(i==vrh stoga)k1++;
izbaci vrhstoga
}
if(k1==k)b++;
if(k1==k) while(!empti(q1)){
if(i!=kraj reda)stavi na stog;
izbaci s reda;
}
else while(!empty(q1)){
if(i==kraj reda){
stavi na red2
izbaci s reda
}
stavi na stog
izbaci s reda
}
}
while(!empty(q2)){
stavi pocetak reda na stog
izbaci pocetak reda
}
return b;[/code:1]

to bi trebalo biti to ako nisam fulao u kodu

ideja je zapamtim prvog sa stoga i bacam sve na red1, brojim koliko ima tih prvih.

vracam na stog, ako je broj tih prvih jednak k onda samo izbacim elemente, ako nije stavim te prve na red2, ostale vratim na stog

sada stog ne bi trebao imati taj prvi element, a on je ili izbacen ili spremljen u redu2

ponavljam postupak dok se ne isprazni stog, tj svi elementi su ili na redu 2 ili ih je bilo k pa su izbaceni.

negdje sam pamtio svaki puta kada je nekog elementa bilo k pa znam koliko sam ih izbacio to je varijabla b.

sada prebacim sve iz reda2 na stog i gotovo, i ispisem koliko sam ih izbacio.

prihvacam sve primjedbe komentare cak i one zlonamjerne..:)

(svaka reklama je dobra rekalama)

ako tko treba instrukcije meni jako drago imati za prehranu u pivi..:)

ali ako ste skrti, ili nemate para, ja sma u 102 manje vise svaki dan i odgovaram na svakojaka pitanja..:)

i kao sto su mi rekli: nema glupih pitanja postoje samo glupi odgovori!

zakljucak jest, nemojte pretpostavljat da nesto ne smijete pitati, jer ste u krivu, u najgorem slucaju vam ja mogu reci (ako ste mene pitali) da mi se ne da ili da je napisano u skripti i da nisam govorni automat.

i gore navedeni kod se sigurno more ljepse napraviti, ali ne da mi se jer i ovaj bi trebao raditi, ali pozivam sve koji uoce greske kojih sigurno ima da me isprave..:)

odo spat, imam kolokvij za par sati i moram se naspavati da ujutro nesto i naucim..:)

svi koji me znate budite me u 9h je kolokvij..:))
Kod:
//ne znam na pamet fujkcije ali nadji odgovarajuce na salabahteru
b=0;
k1=0;
i=vrh stoga
while(!empty(s)){
   while(!empty(s)){
      daj vrh stoga stavi ga na red1
      if(i==vrh stoga)k1++;
      izbaci vrhstoga
      }
   if(k1==k)b++;
   if(k1==k) while(!empti(q1)){
         if(i!=kraj reda)stavi na stog;
         izbaci s reda;
         }
   else while(!empty(q1)){
         if(i==kraj reda){
            stavi na red2
            izbaci s reda
            }
         stavi na stog
         izbaci s reda
         }
   }
while(!empty(q2)){
   stavi pocetak reda na stog
   izbaci pocetak reda
   }
return b;


to bi trebalo biti to ako nisam fulao u kodu

ideja je zapamtim prvog sa stoga i bacam sve na red1, brojim koliko ima tih prvih.

vracam na stog, ako je broj tih prvih jednak k onda samo izbacim elemente, ako nije stavim te prve na red2, ostale vratim na stog

sada stog ne bi trebao imati taj prvi element, a on je ili izbacen ili spremljen u redu2

ponavljam postupak dok se ne isprazni stog, tj svi elementi su ili na redu 2 ili ih je bilo k pa su izbaceni.

negdje sam pamtio svaki puta kada je nekog elementa bilo k pa znam koliko sam ih izbacio to je varijabla b.

sada prebacim sve iz reda2 na stog i gotovo, i ispisem koliko sam ih izbacio.

prihvacam sve primjedbe komentare cak i one zlonamjerne..:)

(svaka reklama je dobra rekalama)

ako tko treba instrukcije meni jako drago imati za prehranu u pivi..:)

ali ako ste skrti, ili nemate para, ja sma u 102 manje vise svaki dan i odgovaram na svakojaka pitanja..:)

i kao sto su mi rekli: nema glupih pitanja postoje samo glupi odgovori!

zakljucak jest, nemojte pretpostavljat da nesto ne smijete pitati, jer ste u krivu, u najgorem slucaju vam ja mogu reci (ako ste mene pitali) da mi se ne da ili da je napisano u skripti i da nisam govorni automat.

i gore navedeni kod se sigurno more ljepse napraviti, ali ne da mi se jer i ovaj bi trebao raditi, ali pozivam sve koji uoce greske kojih sigurno ima da me isprave..:)

odo spat, imam kolokvij za par sati i moram se naspavati da ujutro nesto i naucim..:)

svi koji me znate budite me u 9h je kolokvij..:))



_________________
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail AIM YIM MSNM
markotron
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 26. 10. 2008. (12:07:29)
Postovi: (95)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
= 28 - 28
Lokacija: Umag

PostPostano: 9:48 čet, 12. 11. 2009    Naslov: Citirajte i odgovorite

U jednom zadatku u kolokviju pise da smijemo koristiti samo jednu dodatnu [b]int [/b]varijablu i jednu dodatnu [b]QUEUE[/b] varijablu. To znaci da ne smijem imati [i]int i[/i] za petlju, ako sam int već iskoristio? :?:
U jednom zadatku u kolokviju pise da smijemo koristiti samo jednu dodatnu int varijablu i jednu dodatnu QUEUE varijablu. To znaci da ne smijem imati int i za petlju, ako sam int već iskoristio? Question



_________________
reductio ad absurdum
[Vrh]
Korisnički profil Pošaljite privatnu poruku MSNM
Gino
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 11. 09. 2008. (10:54:06)
Postovi: (370)16
Sarma = la pohva - posuda
-29 = 108 - 137
Lokacija: Pula

PostPostano: 10:11 čet, 12. 11. 2009    Naslov: Citirajte i odgovorite

a valjda neznam...
uglavnom ako mislis na onaj sa MAKS, i ne treba ti vise, ja sam rjesio sa 4 while petlje
a valjda neznam...
uglavnom ako mislis na onaj sa MAKS, i ne treba ti vise, ja sam rjesio sa 4 while petlje



_________________
Mario Berljafa
[Vrh]
Korisnički profil Pošaljite privatnu poruku
markotron
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 26. 10. 2008. (12:07:29)
Postovi: (95)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
= 28 - 28
Lokacija: Umag

PostPostano: 10:46 čet, 12. 11. 2009    Naslov: Citirajte i odgovorite

mislim na SORTMAKS tamo mi treba jedna for petlja.
mislim na SORTMAKS tamo mi treba jedna for petlja.



_________________
reductio ad absurdum
[Vrh]
Korisnički profil Pošaljite privatnu poruku MSNM
Gino
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 11. 09. 2008. (10:54:06)
Postovi: (370)16
Sarma = la pohva - posuda
-29 = 108 - 137
Lokacija: Pula

PostPostano: 11:18 čet, 12. 11. 2009    Naslov: Citirajte i odgovorite

ja sam to ovako, i cini mi se ok
[code:1]void SORTMAKS(STACK *S){
QUEUE Q;
Q_MAKE_NULL(&Q);
while(!EMPTY(*S))
ENQUEUE(MAKS(S),&Q);
while(!Q_EMPTY(Q)){
PUSH(FRONT(Q),S);
DEQUEUE(&Q);
}
//sad je u obrnutom redoslijedu
while(!EMPTY(*S)){
ENQUEUE(TOP(*S),&Q);
POP(S);
}
while(!Q_EMPTY(Q)){
PUSH(FRONT(Q),S);
DEQUEUE(&Q);
}
} [/code:1]
ja sam to ovako, i cini mi se ok
Kod:
void SORTMAKS(STACK *S){
     QUEUE Q;
     Q_MAKE_NULL(&Q);
     while(!EMPTY(*S))
                       ENQUEUE(MAKS(S),&Q);
     while(!Q_EMPTY(Q)){
                        PUSH(FRONT(Q),S);
                        DEQUEUE(&Q);
                        }
     //sad je u obrnutom redoslijedu
     while(!EMPTY(*S)){
                       ENQUEUE(TOP(*S),&Q);
                       POP(S);
                       }
     while(!Q_EMPTY(Q)){
                        PUSH(FRONT(Q),S);
                        DEQUEUE(&Q);
                        }
     }



_________________
Mario Berljafa
[Vrh]
Korisnički profil Pošaljite privatnu poruku
ToMeK
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 12. 09. 2008. (17:22:06)
Postovi: (BA)16
Spol: muško
Sarma = la pohva - posuda
-12 = 17 - 29

PostPostano: 12:46 čet, 12. 11. 2009    Naslov: Citirajte i odgovorite

[quote="Gino"]ja sam to ovako, i cini mi se ok
[code:1]void SORTMAKS(STACK *S){
QUEUE Q;
Q_MAKE_NULL(&Q);
while(!EMPTY(*S))
ENQUEUE(MAKS(S),&Q);
while(!Q_EMPTY(Q)){
PUSH(FRONT(Q),S);
DEQUEUE(&Q);
}
//sad je u obrnutom redoslijedu
while(!EMPTY(*S)){
ENQUEUE(TOP(*S),&Q);
POP(S);
}
while(!Q_EMPTY(Q)){
PUSH(FRONT(Q),S);
DEQUEUE(&Q);
}
} [/code:1][/quote]

ovako sam i ja !!! :D :lol: :lol: :lol: :lol: ako će biti nešto slično sutra, ima nade za mene :D u protivnom iks de xD
Gino (napisa):
ja sam to ovako, i cini mi se ok
Kod:
void SORTMAKS(STACK *S){
     QUEUE Q;
     Q_MAKE_NULL(&Q);
     while(!EMPTY(*S))
                       ENQUEUE(MAKS(S),&Q);
     while(!Q_EMPTY(Q)){
                        PUSH(FRONT(Q),S);
                        DEQUEUE(&Q);
                        }
     //sad je u obrnutom redoslijedu
     while(!EMPTY(*S)){
                       ENQUEUE(TOP(*S),&Q);
                       POP(S);
                       }
     while(!Q_EMPTY(Q)){
                        PUSH(FRONT(Q),S);
                        DEQUEUE(&Q);
                        }
     }


ovako sam i ja !!! Very Happy Laughing Laughing Laughing Laughing ako će biti nešto slično sutra, ima nade za mene Very Happy u protivnom iks de xD


[Vrh]
Korisnički profil Pošaljite privatnu poruku MSNM
Milojko
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 07. 11. 2008. (14:57:52)
Postovi: (453)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
17 = 68 - 51
Lokacija: Hilbertov hotel

PostPostano: 12:49 čet, 12. 11. 2009    Naslov: Citirajte i odgovorite

[quote="Gino"]ja sam to ovako, i cini mi se ok
[code:1]void SORTMAKS(STACK *S){
QUEUE Q;
Q_MAKE_NULL(&Q);
while(!EMPTY(*S))
ENQUEUE(MAKS(S),&Q);
[/code:1][/quote]
mislim da iza ovoga treba još ići i [tt]POP (*S);[/tt]
Gino (napisa):
ja sam to ovako, i cini mi se ok
Kod:
void SORTMAKS(STACK *S){
     QUEUE Q;
     Q_MAKE_NULL(&Q);
     while(!EMPTY(*S))
                       ENQUEUE(MAKS(S),&Q);
     

mislim da iza ovoga treba još ići i POP (*S);



_________________
Sedam je prost broj Smile

Bolonja je smeće i to pod hitno treba mijenjat
[Vrh]
Korisnički profil Pošaljite privatnu poruku MSNM
Gino
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 11. 09. 2008. (10:54:06)
Postovi: (370)16
Sarma = la pohva - posuda
-29 = 108 - 137
Lokacija: Pula

PostPostano: 12:53 čet, 12. 11. 2009    Naslov: Citirajte i odgovorite

ne jer [tt]MAKS[/tt] nade najveci i izbaci ga
ne jer MAKS nade najveci i izbaci ga



_________________
Mario Berljafa
[Vrh]
Korisnički profil Pošaljite privatnu poruku
Milojko
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 07. 11. 2008. (14:57:52)
Postovi: (453)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
17 = 68 - 51
Lokacija: Hilbertov hotel

PostPostano: 13:01 čet, 12. 11. 2009    Naslov: Citirajte i odgovorite

da, baš sma htio napisat da sam zezno i da ovo valja :)
da, baš sma htio napisat da sam zezno i da ovo valja Smile



_________________
Sedam je prost broj Smile

Bolonja je smeće i to pod hitno treba mijenjat
[Vrh]
Korisnički profil Pošaljite privatnu poruku MSNM
slash
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 20. 02. 2008. (18:17:24)
Postovi: (39)16
Sarma = la pohva - posuda
= 7 - 7

PostPostano: 17:52 čet, 12. 11. 2009    Naslov: Citirajte i odgovorite

jel zna itko kako rjesit 4.zdk iz proslogodisnjeg kolokvija iz druge grupe?
jel zna itko kako rjesit 4.zdk iz proslogodisnjeg kolokvija iz druge grupe?


[Vrh]
Korisnički profil Pošaljite privatnu poruku
Gino
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 11. 09. 2008. (10:54:06)
Postovi: (370)16
Sarma = la pohva - posuda
-29 = 108 - 137
Lokacija: Pula

PostPostano: 18:15 čet, 12. 11. 2009    Naslov: Citirajte i odgovorite

e ja sam to rjesio, i zanima me dal je ok
[code:1]BTREE cikcak(int n){
BTREE B, pom;
node korijen;
int i=0;
MAKE_NULL(&B); MAKE_NULL(&pom);
korijen=CREATE(i,pom, pom,&B);
for(i=0;i<n;i++)
if(i%2==0) korijen=INSERT_RIGHT_CHILD(i+1,korijen,&B);
else korijen=INSERT_LEFT_CHILD(i+1,korijen,&B);
return B;
}

labeltype zigzag(BTREE B){
labeltype vrati=LABEL(ROOT(B),B);
obilazak(ROOT(B),B,&vrati);
return vrati;
}
void obilazak(node c, BTREE B, labeltype *x){
if(c==LAMBDA) return;
if(DOBAR(c,B) && LABEL(c,B)>(*x)) (*x)=LABEL(c,B);

obilazak(LEFT_CHILD(c,B),B,x);
obilazak(RIGHT_CHILD(c,B),B,x);
}
int DOBAR(node c, BTREE B){
int ljevo=0, desno=0;
while(PARENT(c,B)!=LAMBDA){
if(LEFT_CHILD(PARENT(c,B),B)==c) ljevo+=1;
else desno+=1;
c=PARENT(c,B);
}
if(ljevo==desno) return 1;
else return 0;
}[/code:1]
e ja sam to rjesio, i zanima me dal je ok
Kod:
BTREE cikcak(int n){
      BTREE B, pom;
      node korijen;
      int i=0;
      MAKE_NULL(&B); MAKE_NULL(&pom);
      korijen=CREATE(i,pom, pom,&B);
      for(i=0;i<n;i++)
                      if(i%2==0) korijen=INSERT_RIGHT_CHILD(i+1,korijen,&B);
                      else korijen=INSERT_LEFT_CHILD(i+1,korijen,&B);
      return B;
      }
     
labeltype zigzag(BTREE B){
          labeltype vrati=LABEL(ROOT(B),B);
          obilazak(ROOT(B),B,&vrati);
          return vrati;
          }
void obilazak(node c, BTREE B, labeltype *x){
     if(c==LAMBDA) return;
     if(DOBAR(c,B) && LABEL(c,B)>(*x)) (*x)=LABEL(c,B);
     
     obilazak(LEFT_CHILD(c,B),B,x);
     obilazak(RIGHT_CHILD(c,B),B,x);
     }
int DOBAR(node c, BTREE B){
    int ljevo=0, desno=0;
    while(PARENT(c,B)!=LAMBDA){
                     if(LEFT_CHILD(PARENT(c,B),B)==c) ljevo+=1;
                     else desno+=1;
                     c=PARENT(c,B);
                     }
    if(ljevo==desno) return 1;
    else return 0;
}



_________________
Mario Berljafa
[Vrh]
Korisnički profil Pošaljite privatnu poruku
Milojko
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 07. 11. 2008. (14:57:52)
Postovi: (453)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
17 = 68 - 51
Lokacija: Hilbertov hotel

PostPostano: 18:26 čet, 12. 11. 2009    Naslov: Citirajte i odgovorite

ovaj pod a) mislim da znam, a ovo pod b) stvarno nemam pojma
a)
[code:1]BTREE cikcak (int n) {
int i, oznaka = 7;
BTREE T;
node n;
MAKE_NULL (&T);
CREATE (oznaka, LAMBDA, LAMBDA, &T);
n = ROOT (T);
for (i = 1; i < n + 1; ++i) {
if (i % 2) {
INSERT_RIGHT_CHILD (oznaka, n, &T);
n = RIGHT_CHILD (T);
}
else {
INSERT_LEFT_CHILD (oznaka, n, &T);
n = LEFT_CHILD (T);
}
oznaka *= 7;
}
return T;
}[/code:1]
eto, mislim da je to to, nisam probavo, al čini mise da valja
a ovo pod b), nemam pojma ni jednog ni drugog (mislim na pod b) iz obadvije grupe). U biti su analogni, pa ono, kom se da, nek natipka bar jednoga
ovaj pod a) mislim da znam, a ovo pod b) stvarno nemam pojma
a)
Kod:
BTREE cikcak (int n) {
     int i, oznaka = 7;
     BTREE T;
     node n;
     MAKE_NULL (&T);
     CREATE (oznaka, LAMBDA, LAMBDA, &T);
     n = ROOT (T);
     for (i = 1; i < n + 1; ++i) {
          if (i % 2) {
            INSERT_RIGHT_CHILD (oznaka, n, &T);
            n = RIGHT_CHILD (T);
            }
         else {
            INSERT_LEFT_CHILD (oznaka, n, &T);
            n = LEFT_CHILD (T);
            }
         oznaka *= 7;
        }
    return T;
    }

eto, mislim da je to to, nisam probavo, al čini mise da valja
a ovo pod b), nemam pojma ni jednog ni drugog (mislim na pod b) iz obadvije grupe). U biti su analogni, pa ono, kom se da, nek natipka bar jednoga



_________________
Sedam je prost broj Smile

Bolonja je smeće i to pod hitno treba mijenjat
[Vrh]
Korisnički profil Pošaljite privatnu poruku MSNM
slash
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 20. 02. 2008. (18:17:24)
Postovi: (39)16
Sarma = la pohva - posuda
= 7 - 7

PostPostano: 19:12 čet, 12. 11. 2009    Naslov: Citirajte i odgovorite

ovo od gina mi se cini ok, samo mi nije jasna *. mozes to pojasnit, to me uvik zbunjuje? a ovako sam ja rjesia 4b iz prve grupe.
[code:1]
int nivo(btree T, int k)
{
int desno,lijevo;

if(k == 0) return 0;
if(EMPTY(T)) return 0;
BTREE TL,TR;
LEFT_SUBTREE(t,&TL);
RIGHT_SUBTREE(t,&TR);

desno = 1 + nivo(TR,k-1);
lijevo = 1 + nivo(TL,k);

if(desno > lijevo)
return desno;
else
return lijevo;
}
[/code:1]
ovo od gina mi se cini ok, samo mi nije jasna *. mozes to pojasnit, to me uvik zbunjuje? a ovako sam ja rjesia 4b iz prve grupe.
Kod:

int nivo(btree T, int k)
{
   int desno,lijevo;
   
   if(k == 0) return 0;
   if(EMPTY(T)) return 0;
        BTREE TL,TR;
        LEFT_SUBTREE(t,&TL);
        RIGHT_SUBTREE(t,&TR);

   desno = 1 + nivo(TR,k-1);
   lijevo = 1 + nivo(TL,k);

   if(desno > lijevo)
      return   desno;
   else
      return lijevo;   
}


[Vrh]
Korisnički profil Pošaljite privatnu poruku
Gino
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 11. 09. 2008. (10:54:06)
Postovi: (370)16
Sarma = la pohva - posuda
-29 = 108 - 137
Lokacija: Pula

PostPostano: 19:22 čet, 12. 11. 2009    Naslov: Citirajte i odgovorite

pa kad ne bi bilo *, onda bi se labeltype mjenjao samo u funkciji obilazak, a ne bi mi se promijenio u zigzag-u

nisam sad gledao dal ti je sve ok u ovom b dijelu prve grupe, al i ja sam ga rjesio na tu foru, s time sta je bolje znat i ovu za obilazak jer, ocito ovaj iz druge grupe ne mozes rjesit na slican nacin kao ovo iz prve

ako se mozda moze i neko zna kako nek stavi kod :)
pa kad ne bi bilo *, onda bi se labeltype mjenjao samo u funkciji obilazak, a ne bi mi se promijenio u zigzag-u

nisam sad gledao dal ti je sve ok u ovom b dijelu prve grupe, al i ja sam ga rjesio na tu foru, s time sta je bolje znat i ovu za obilazak jer, ocito ovaj iz druge grupe ne mozes rjesit na slican nacin kao ovo iz prve

ako se mozda moze i neko zna kako nek stavi kod Smile



_________________
Mario Berljafa
[Vrh]
Korisnički profil Pošaljite privatnu poruku
Milojko
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 07. 11. 2008. (14:57:52)
Postovi: (453)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
17 = 68 - 51
Lokacija: Hilbertov hotel

PostPostano: 19:37 čet, 12. 11. 2009    Naslov: Citirajte i odgovorite

[quote="Gino"]ako se mozda moze i neko zna kako nek stavi kod :)[/quote]
evo pa pogledajte dal valja (btw. ideja je stigla čitajući Ginov prethodni post :))

[code:1]void podoban (node n, BTREE T, int broj, int *level) {
int desno = 0, lvl = 0;
if (n == LAMBDA)
return;
while (PARENT (N, T) != LAMBDA) { /* brojim skretanja udesno */
if (n == RIGHT_CHILD (PARENT (n, T)))
++desno;
n = PARENT (n, T);
++lvl;
}
if (lvl > (*level) && desno == broj)
*level = lvl;
return;
}
void tura (int *level, BTREE T, int k, node kor) {
if (kor == LAMBDA)
return;
podoban (kor, T, k, level);
tura (level, T, k, LEFT_CHILD (kor, T));
tura (level, T, k, RIGHT_CHILD (kor, T));
return;
}
int nivo (BTREE T, int k) {
int level = 0;
node kor = ROOT (T);
tura (&level, T, k, kor);
return level;
}[/code:1]

et, da sam dobio taj zadatak, tak bi ga napisao
najvjerojatnije daćte tu nać dost felera, al ono....
Gino (napisa):
ako se mozda moze i neko zna kako nek stavi kod Smile

evo pa pogledajte dal valja (btw. ideja je stigla čitajući Ginov prethodni post Smile)

Kod:
void podoban (node n, BTREE T, int broj, int *level) {
      int desno = 0, lvl = 0;
      if (n == LAMBDA)
            return;
      while (PARENT (N, T) != LAMBDA) {  /* brojim skretanja udesno */
            if (n == RIGHT_CHILD (PARENT (n, T)))
                   ++desno;     
            n = PARENT (n, T);
            ++lvl;
            }
      if (lvl > (*level) && desno == broj)
            *level = lvl;
      return;
      }
void tura (int *level, BTREE T, int k, node kor) {
      if (kor == LAMBDA)
            return;
      podoban (kor, T, k, level);
      tura (level, T, k, LEFT_CHILD (kor, T)); 
      tura (level, T, k, RIGHT_CHILD (kor, T));
      return;
}
int nivo (BTREE T, int k) {
      int level = 0;
      node kor = ROOT (T);
      tura (&level, T, k, kor);
      return level;
      }


et, da sam dobio taj zadatak, tak bi ga napisao
najvjerojatnije daćte tu nać dost felera, al ono....



_________________
Sedam je prost broj Smile

Bolonja je smeće i to pod hitno treba mijenjat
[Vrh]
Korisnički profil Pošaljite privatnu poruku MSNM
Gino
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 11. 09. 2008. (10:54:06)
Postovi: (370)16
Sarma = la pohva - posuda
-29 = 108 - 137
Lokacija: Pula

PostPostano: 19:48 čet, 12. 11. 2009    Naslov: Citirajte i odgovorite

ja neznam sta ti tu radis, al ono sta si citirao mene, si ocito krivo interpretirao
zanimalo me kako rjesit 4b iz druge grupe od prosle god bez nekog od tih obilaska inorder/preorder/postorder, ili nekog nepostojeceg al u tom smislu
zanimalo me dal se moze kao sto je slash rjesio 4b iz prve grupe
ja neznam sta ti tu radis, al ono sta si citirao mene, si ocito krivo interpretirao
zanimalo me kako rjesit 4b iz druge grupe od prosle god bez nekog od tih obilaska inorder/preorder/postorder, ili nekog nepostojeceg al u tom smislu
zanimalo me dal se moze kao sto je slash rjesio 4b iz prve grupe



_________________
Mario Berljafa
[Vrh]
Korisnički profil Pošaljite privatnu poruku
Milojko
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 07. 11. 2008. (14:57:52)
Postovi: (453)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
17 = 68 - 51
Lokacija: Hilbertov hotel

PostPostano: 20:05 čet, 12. 11. 2009    Naslov: Citirajte i odgovorite

a, sorry, krivo skužio, mislio da pričaš o rješenju b iz prve grupe sa obilaskom
ugl, ovo je moje rješenje toga iz prve grupe koristeć se ovim obilaskom
krivo sam skužio štas napiso
a, sorry, krivo skužio, mislio da pričaš o rješenju b iz prve grupe sa obilaskom
ugl, ovo je moje rješenje toga iz prve grupe koristeć se ovim obilaskom
krivo sam skužio štas napiso



_________________
Sedam je prost broj Smile

Bolonja je smeće i to pod hitno treba mijenjat
[Vrh]
Korisnički profil Pošaljite privatnu poruku MSNM
JANKRI
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 10. 07. 2008. (02:30:58)
Postovi: (10F)16
Spol: muško
Sarma = la pohva - posuda
97 = 132 - 35
Lokacija: Zagreb

PostPostano: 1:04 pet, 13. 11. 2009    Naslov: Citirajte i odgovorite

4.b "zigzag" od lani bez nekog "poznatog" obilaska (nadam se da je dobro :oops:), zapravo indirektno koristim preorder :D, ali drukčije je od ovih rješenja na forumu, barem kako se meni čini :)

[code:1]
labeltype MAX(labeltype x, labeltype y)
{
if(x>y) return x;
return y
}

labeltype _zigzag(BTREE T, int lijevo, int desno, labeltype max)
{
labeltype maxl, maxd;
BTREE TL, TR;
LEFT_SUBTREE(T, &TL);
RIGHT_SUBTREE(T, &TR);
if(lijevo==desno)
max=MAX(max, LABEL(ROOT(T), T));
if(!EMPTY(TL))
maxl=_zigzag(TL, lijevo+1, desno, max);
if(!EMPTY(TR))
maxd=_zigzag(TR, lijevo, desno+1, max);
if(!EMPTY(TL))
max=MAX(max, maxl);
if(!EMPTY(TR))
max=MAX(max, maxd);
return max;
}

labeltype zigzag(BTREE T)
{
return _zigzag(T, 0, 0, LABEL(ROOT(T), T));
}
[/code:1]
4.b "zigzag" od lani bez nekog "poznatog" obilaska (nadam se da je dobro Embarassed), zapravo indirektno koristim preorder Very Happy, ali drukčije je od ovih rješenja na forumu, barem kako se meni čini Smile

Kod:

labeltype MAX(labeltype x, labeltype y)
{
if(x>y) return x;
return y
}

labeltype _zigzag(BTREE T, int lijevo, int desno, labeltype max)
{
labeltype maxl, maxd;
BTREE TL, TR;
LEFT_SUBTREE(T, &TL);
RIGHT_SUBTREE(T, &TR);
if(lijevo==desno)
   max=MAX(max, LABEL(ROOT(T), T));
if(!EMPTY(TL))
   maxl=_zigzag(TL, lijevo+1, desno, max);
if(!EMPTY(TR))
   maxd=_zigzag(TR, lijevo, desno+1, max);
if(!EMPTY(TL))
   max=MAX(max, maxl);
if(!EMPTY(TR))
   max=MAX(max, maxd);
return max;
}

labeltype zigzag(BTREE T)
{
return _zigzag(T, 0, 0, LABEL(ROOT(T), T));
}


[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail
Prethodni postovi:   
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji 2. godine -> Strukture podataka i algoritmi Vremenska zona: GMT + 01:00.
Idite na Prethodno  1, 2, 3  Sljedeće
Stranica 2 / 3.

 
Forum(o)Bir:  
Ne možete otvarati nove teme.
Ne možete odgovarati na postove.
Ne možete uređivati Vaše postove.
Ne možete izbrisati Vaše postove.
Ne možete glasovati u anketama.
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2002 phpBB Group
Theme created by Vjacheslav Trushkin
HR (Cro) by Ančica Sečan